merak ediyorum. Ben imwrite gerekenlere sadece 2 öğe içeren bir vektör (this discussion benzer) p, ancak beyan, ben arama yapabilirsiniz:Opencv (imwrite) üzerindeki görüntülerin sıkıştırılması. Sıkıştırma faktörünü nasıl belirlersiniz? bir kukla vektör bildirmek zorunda kalmadan OpenCV görüntüleri sıkıştırırken kolayca sıkıştırma faktörü belirtmek için bir yol olup olmadığını
vector<int> p;
p[0] = CV_IMWRITE_JPEG_QUALITY;
p[1] = 50; // compression factor
imwrite("compressed.jpg", img, p);
yukarıdaki eserleri iyi. Ancak, aynı görüntüyü bir döngüde birkaç sıkıştırma faktörü ile sıkıştırmak istiyorum. Parametreyi imdrite etmek için açıkça iletmenin bir yolu var mı? Bir şey gibi: Sadece bir yan not olarak
imwrite("compressed.jpg", img, {CV_IMWRITE_JPEG_QUALITY, factor}); // this doesn't work
, fonksiyon başlığıdır:
bool imwrite(const string& filename, const Mat& img, const vector<int>& params=vector<int>());
teşekkürler!
Güncelleme: C++ 0x'yi etkinleştirdikten sonra, açıkça tanımlanmış bir satır içi işlevi işleve iletebilirim.
C++ 11'iniz var mı? Eğer ++ 0x destek C olanak ise –
gcc sürüm 4.5.2 –
bir VM çalışıyorsa, 'std :: vektör ({1,2}) 'satır içi söyleyebiliriz. –