代码
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
IplImage* srcImage = cvLoadImage("HEVCStructureInfo#13.png");
if(srcImage==NULL)
return -1;
IplImage* dstImage ;
dstImage = cvCloneImage(srcImage);
CvSize size = cvGetSize(srcImage);
CvScalar src;
CvScalar dst;
for(int i = 0; i < size.height; ++i)
for(int j = 0; j < size.width; ++j)
{
src = cvGet2D(srcImage,i,j);
dst = cvGet2D(dstImage,i,j); // get the (i,j) pixel value
if((src.val[0]==255&&src.val[1]==255&&src.val[2]==0))
{
dst.val[0] = 255;
dst.val[1] = 255;
dst.val[2] = 255;
}
else if((src.val[0]==255&&src.val[1]==0&&src.val[2]==0))
{
dst.val[0] = src.val[0];
dst.val[1] = src.val[1];
dst.val[2] = src.val[2];
}
else
{
dst.val[0] = 0;
dst.val[1] = 0;
dst.val[2] = 0;
}
cvSet2D(dstImage, i, j, dst);//set the (i,j) pixel value
}
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", dstImage);
cvSaveImage("HEVCOnlyCUMV#13.png", dstImage);
cvWaitKey(0);
return 0;
}
本文介绍了一个使用OpenCV库进行图像处理的例子。通过遍历图像的每个像素,根据源图像中像素的颜色值来修改目标图像。具体实现包括读取图片、创建窗口、显示处理后的图像并保存。
2331

被折叠的 条评论
为什么被折叠?



