OpenCV之图片视频数据简单处理笔记
opencv是一个开源的跨平台计算机视觉库,其用C++语言编写,主要接口也是C++语言,自己平时做图像处理相关内容是有用到一些简单的操作,调用的处理接口较为简单,但久了不用又会遗忘,所以在这篇博客里记录下来。OpenCV图片的存取Mat srcImage = imread("srcImage.bmp");imwrite("图片.bmp",srcImage);
·
opencv是一个开源的跨平台计算机视觉库,其用C++语言编写,主要接口也是C++语言,自己平时做图像处理相关内容是有用到一些简单的操作,调用的处理接口较为简单,但久了不用又会遗忘,所以在这篇博客里记录下来。
OpenCV图片的存取
Mat srcImage = imread("srcImage.bmp");
imwrite("图片.bmp",srcImage);
imshow("图片名",srcImage);
waitKey();
注意非bmp格式图片的可能存在数据的压缩,会导致图片本身的数据有很小的误差,视频的生成同样存在压缩;图像的显示需要使用waitKey();不然不能停留显示,图片像素数据的提取与存储,使用img.data[ ]比img.at < Vec3b >(i,j) [0/1/2]要高效快速得多。
OpenCV视频的存取
VideoCapture capture;
capture.open("1.avi");
capture>>srcImage;
VideoWriter writer("1.avi", CV_FOURCC('M', 'P', '4', '2'), 60.0, Size(1600, 600));
writer << srcImage;
注意视频的生成同样存在数据的压缩,另外,视频是三通道的,不存在从视频中取出一张图片,而这张图片为灰度图片的情况。
OpenCV在感兴趣区域设置掩码图像
Mat srcImage=imread("1.bmp");
Mat logoImage=imread("2.bmp");
Mat imageROI=srcImage(Rect(0,0,logoImage.cols,logoImage.rows));
Mat mask=imread("2.bmp",0);
logoImage.copyTo(imageROI,mask);
imshow("Image",srcImage);
通过代码在srcImage图片中的左上角0,0坐标设置logoImage图像
OpenCV常用易忘函数
cvtColor(Image,Image,CV_BGR2GRAY); // 颜色空间转换函数
Mat srcImage(Size(800,600),CV_8UC3,Scalar::all(0)) // 构造图片
A.copyTo(B); // 把图像A复制到图像B
更多推荐
已为社区贡献1条内容
所有评论(0)