1、addWeighted(图像的融合)
注意:
进行叠加的两张图片宽高应该相同
叠加之后的像素偏移值如果填的话不要填太大,超过255会导致图像偏白
cv.addWeighted(图像1,权重1,图像2,权重2,叠加之后的像素偏移值)
2、split(图像通道的拆分)
result = cv.split(src); # (255,125,200) split (255) , (125) , (200) 255种灰度 – 0,255
cv.imshow(“Blue”,result[0])
cv.imshow(“Green”,result[1])
cv.imshow(“Red”,result[2])
3、merge(图像通道的合并)
C++: void merge(const Mat* mv, size_tcount, OutputArray dst)
C++: void merge(InputArrayOfArrays mv,OutputArray dst)
4、彩色图像转灰度图
4.1、读取的时候,选择灰度类型
img = cv::imread(“img/itheima.jpg”,IMREAD_GRAYSCALE)
4.2、cvtcolor()函数是一个颜色空间转换函数
gray = cv::cvtColor(src,COLOR_BGR2GRAY)
5、图片颜色翻转
imshow("zuzhi", zuzhi);
output_image = zuzhi.clone();
//遍历图片,对颜色空间进行修改
for (int i = 0; i < zuzhi.rows; i++)
{
for (int j = 0; j < zuzhi.cols*zuzhi.channels(); j++)
{
output_image.at<uchar>(i, j) = 255 - zuzhi.at<uchar>(i, j);
}
}
imshow(" output_image", output_image); //显示反转图像
6、图片马赛克效果
原理:要想图片实现马赛克的效果,其实很简单,我们可以给图片划分成很多个小的矩形区域,让每个小的矩形区域都取矩形区域左上角的颜色值。
示例链接