想换一下CSDN账户的头像,换成自己的真实的头像,但是又不想那么直接,干脆就把头像转换成二值图得了,因为从二值图像是推不出来原图的。这个过程需要OpenCV的两个函数,第一个函数是彩色图像转化为灰度图像:cvtColor函数;下一个函数是由灰度图转化为二值图像函数:threshold函数。用法很简单,代码如下:
cvtColor(img_origin,img_gray,CV_BGR2GRAY);
threshold(img_gray,img_binary,145,255,THRESH_BINARY);
imwrite("/home/hon/result.jpg",img_binary);
imshow("binary image",img_binary);
既然说到了这两个函数,就说说这两个函数的用法吧。这两个函数都是OpenCV中C++系列的函数,函数没有前缀cv(大部分参考书籍上介绍的OpenCV函数是c系列的,有前缀cv)。
cvtColor函数:
原型:
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
src和dst分别是待转的图像(src)和待转图像转换后的