图像的掩膜操作

 

 

 

$${\rm{I}}\left( {i,j} \right) = 5*{\rm{I}}\left( {i,j} \right) - \left[ {{\rm{I}}\left( {i - 1,j} \right) + {\rm{I}}\left( {i + 1,j} \right) + {\rm{I}}\left( {i,j - 1} \right) + {\rm{I}}\left( {i,j + 1} \right)} \right]$$

  以中心像素红色为基础,从左到右,从上到下做同样的处理,重新计算每个像素的像素值就可以实现对比度的提高。也就是用每个像素周围的像素值去平衡当前的像素值。改变像素点的像素值要和通道相结合,例如RGB的话,每个像素有三个通道的值,要改变每个像素点的RGB三个通道的值。掩膜操作的效果如下:

掩膜操作函数如下:

定义一个掩膜矩阵:Mat kernel = (Mat_<char>(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
掩膜运算:filter2D(input_image,output_image,image.depth(),kernel,Point(-1,-1),0.0); 
//掩膜操作可以提高图像对比度,image.depth()为输入位图的深度,直接写-1也可以,为自动添加位图深度, Point(-1,-1)为中心锚点,0.0为计算好的像素值补偿量。
posted @ 2019-12-27 16:53  静精进境  阅读(749)  评论(0)    收藏  举报