3个回答
展开全部
二值化后的黑白图像,像素值0-黑色,255-白色,把原来是255的像素置为0,原来是0的设为255就可以实现黑白转换了。
追问
具体的代码是怎样
追答
int main(int argc, char** argv)
{
IplImage* src = cvLoadImage("2.jpg"); // 导入源图像
IplImage* dst = cvCreateImage(cvGetSize(src),src->depth,src->nChannels); //创建目的图像
int i = 0, j = 0;
uchar* srcData = (uchar)src->imageData;
uchar* dstData = (uchar)dst->imageData;
uchar srcpix = 0;
int linebytes = src->widthStep;
for (i = 0; i height; i++)
{
for (j = 0; j width; j++)
{
srcpix = 0;
srcpix = (uchar)srcData[i*linebytes+j];
dstData[i*linebytes+j] = 255 - srcpix;
}
}
cvNamedWindow("src");
cvShowImage("src",src);
cvNamedWindow("dst");
cvShowImage("dst",dst);
cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&src);
cvReleaseImage(&dst);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询