Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ openCV cvSaveImage()增加图像的大小_C++_Opencv_Image Processing_Computer Vision_Computer Science - Fatal编程技术网

C++ openCV cvSaveImage()增加图像的大小

C++ openCV cvSaveImage()增加图像的大小,c++,opencv,image-processing,computer-vision,computer-science,C++,Opencv,Image Processing,Computer Vision,Computer Science,我正在加载一个图像,并使用cvSaveImage()保存相同的图像,但名称不同。保存后,新保存图像的大小将增大。谁能告诉我为什么以及如何避免它??这是我的密码: int main(){ } 谢谢。这是因为OpenCV默认使用较低的JPEG压缩因子。下面是如何传递自定义压缩因子-。这是因为OpenCV默认使用较低的JPEG压缩因子。下面是如何传递自定义压缩因子-。JPEG中结合了不同的压缩和编码方法。 很可能您的原始图像使用的压缩/编码与cvSaveImage的标准openCV参数化不同 试试这个

我正在加载一个图像,并使用cvSaveImage()保存相同的图像,但名称不同。保存后,新保存图像的大小将增大。谁能告诉我为什么以及如何避免它??这是我的密码:

int main(){

}


谢谢。

这是因为OpenCV默认使用较低的JPEG压缩因子。下面是如何传递自定义压缩因子-。

这是因为OpenCV默认使用较低的JPEG压缩因子。下面是如何传递自定义压缩因子-。

JPEG中结合了不同的压缩和编码方法。 很可能您的原始图像使用的压缩/编码与cvSaveImage的标准openCV参数化不同

试试这个:

IplImage* src = cvLoadImage("test.jpg", 0);
cvSaveImage("reTest.jpg", src);
IplImage* reSrc = cvLoadImage("reTest.jpg",0);
cvSaveImage("reTest2.jpg", reSrc);
如果
reTest.jpg
reTest2.jpg
具有相同的大小,openCV不会增加文件大小,而只是使用不同的压缩级别或其他内容。
您必须找出原始文件的压缩级别和编码,并使用这些相同的参数保存它,可能使用与openCV不同的库。

JPEG中结合了不同的压缩和编码方法。 很可能您的原始图像使用的压缩/编码与cvSaveImage的标准openCV参数化不同

试试这个:

IplImage* src = cvLoadImage("test.jpg", 0);
cvSaveImage("reTest.jpg", src);
IplImage* reSrc = cvLoadImage("reTest.jpg",0);
cvSaveImage("reTest2.jpg", reSrc);
如果
reTest.jpg
reTest2.jpg
具有相同的大小,openCV不会增加文件大小,而只是使用不同的压缩级别或其他内容。
您必须找出原始文件的压缩级别和编码,并使用这些相同的参数保存它,可能使用与openCV不同的库。

jpg
是一种压缩的有损格式,因此无法解码然后再次编码以获得完全相同的数据。压缩比是可变的,因此原始文件的保存速率可能高于第二次保存时的速率。我假设openCV中可能有一些选项来控制这一点。
jpg
是一种压缩的有损格式,因此不可能解码然后再次编码以获得完全相同的数据。压缩比是可变的,因此原始文件的保存速率可能高于第二次保存时的速率。我想openCV中可能有一些选项可以控制这一点。