强大的opencv

表示得到了想要的处理效果:

直接写代码吧,为了把处理过图像中相关颜色进行二值化,或者三值化,哈哈,我自己定义滴:

#include "cv.h"
#include "highgui.h"
#include <fstream>
#include <iostream>
using namespace std;

int main()
{
	IplImage* img  = cvLoadImage("E:\\test.jpg", 1);
	/* always check */
	assert(img);
	int nWidth = img->width;
	int nHeight = img->height;
	int step = img->widthStep;
	int channels = img->nChannels;
	int i,j;
	int sum1 = 0,sum2 = 0,sum3 = 0,sum4 = 0,sum5 = 0;
	for( i=0;i<nHeight;i++)
		for( j=0;j<nWidth;j++)
		{
			CvScalar s = cvGet2D(img,i,j);
			if(sqrt(pow((s.val[0]-29),2)+pow(s.val[1]-144,2)+pow(s.val[2]-255,2))<30 || 
				sqrt(pow((s.val[0]-255),2)+pow(s.val[1]-2,2)+pow(s.val[2]-199,2))<30)
				{
                /*   s.val[0]=0;
				   s.val[1]=0;
				   s.val[2]=0;
				   cvSet2D(img, i, j, s);*/
			    }
			else
			{
				s.val[0]=255;
				s.val[1]=255;
				s.val[2]=255;
				cvSet2D(img, i, j, s);
			}
		}
		cvSaveImage("E:\\m3.bmp",img);
		cvShowImage("Image",img);
		cvWaitKey(0); //等待按键

		cvDestroyWindow( "Image" );//销毁窗口
		return 0;
}
原文地址:https://www.cnblogs.com/xiangshancuizhu/p/2453393.html