opencv图片压缩后读取的像素值,和保存后读出来的像素值不一样的问题。
来源:互联网 发布:淘宝怎么提高排名信誉 编辑:程序博客网 时间:2024/05/06 05:57
最近在写opencv压缩图片的逻辑的时候,发现一张图片用cvResize之后的像素值,和保存后的图片像素值不一样。
后来发现,原来是用cvSaveImage的时候,有第三个参数,会导致保存的图片像素值有误差,参考:http://www.cnblogs.com/wolfplan/p/4058851.html
这是我的部分代码:
IplImage *image=0,*imageresize=0; //imageresize = cvLoadImage("save.jpg",1); image=cvLoadImage("1.jpg",1); if(!image) printf("can't load an image/n"); imageresize=cvCreateImage(cvSize(224,224),IPL_DEPTH_8U,3); cvResize(image,imageresize,CV_INTER_LINEAR); int p[3]; p[0] = CV_IMWRITE_JPEG_QUALITY; p[1] = 100; //这里是重点 p[2] = 0; cvSaveImage("save2.jpg",imageresize, p); //std::ofstream fileout("imgtest.txt"); printf("imageresize:%d\n", imageresize->imageSize); std::cout<<imageresize->width<<","<<imageresize->height<<","<<imageresize->widthStep<<std::endl; //int fd = open("img.txt", O_WRONLY|O_CREAT|O_TRUNC, S_IRWXU|S_IXGRP|S_IROTH|S_IXOTH); size_t addr = 0x00; //for(int y=0;y<imageresize->height;y++) for (int y=0; y<1; y++) { unsigned char* p=(unsigned char*)(imageresize->imageData+y*imageresize->widthStep); for (int x=0; x<imageresize->width*imageresize->nChannels; x+=3) { //get BGR: //pwrite_bgr_16bits(p[x+2], p[x+1], p[x], fd, addr); printf("(%d,%d,%d)", p[x+2], p[x+1], p[x]); addr += 64; } //fileout<<p[x]; //fileout<<'\n'; }
阅读全文
0 0
- opencv图片压缩后读取的像素值,和保存后读出来的像素值不一样的问题。
- MATLAB图像保存压缩后改变像素值的问题
- Maltab中图像像素值保存更改后读出异常
- Opencv--像素值变化后的图像显示
- opencv 保存灰度图像的像素值
- opencv 保存灰度图像的像素值
- opencv对于bmp图像像素值的读取和赋值
- Opencv中将图片的像素值保存到vector容器中,并保存为文本文档
- 从视频的一行中读出所有像素的RGB值,并保存
- 读取图像的像素值
- opencv 读取像素值
- resize 后的 Mat像素快速历遍 opencv
- OpenCV中读取视频帧像素值的一般方法
- OpenCV中用于读取图像像素点的值
- 用opencv读取图像的每个像素值,鼠标点击获取每一个点,并显示像素
- OpenCV 中读取一张图片的像素点,并显示
- opencv2改变图像像素大小到指定像素并保存改变后的图像
- 获取图片的像素值
- 克服懒惰
- C++11常用特性的使用经验总结
- sql错删表之后的操作
- gym101628 problemD Don't Lose The Droid 水题 瞎写
- oracle自动添加分区表分区
- opencv图片压缩后读取的像素值,和保存后读出来的像素值不一样的问题。
- iptables详解
- Springboot实现Session共享及负载均衡
- ES官方文档整理-4.field data 内存控制
- A*算法
- bootstrap datatimepicker 时间选择插件---精确到时分秒
- Chrome 扩展开发教程(3)——content_scripts用法
- Delphi-VclZip用法详解 (2011-09-28 23:59:18)
- 正则表达式 匹配特殊字符js