DSP

图像像素取反

2019-07-13 16:00发布

1 void cvNot( const CvArr* src, CvArr* dst); 函数cvNot()会将src中的每一个元素的每一位取反,然后把结果赋给dst。因此,一个值为0x00的8位图像将被映射到0xff,而值为0x83的图像将被映射到0x7c。 #include #include int main(int argc,char* argv[]) { IplImage* src = cvLoadImage("1.jpg"); cvNot(src,src); cvNamedWindow("cvNot",1); cvShowImage("cvNot",src); cvWaitKey(0); cvReleaseImage(&src); cvDestroyWindow("cvNot"); return 0; } 2 cv::Mat pimg; pimg = ~pimg; 3 Mat img_gray_inv = 255- img_gray; 4 for(int i=0;i != height; ++ i)
{
for(int j=0;j != width; ++ j)
{
for(int k=0;k != channels; ++ k)
{
data[istep+jchannels+k]=255-data[istep+jchannels+k];
}
}
} 5 for(int i=0;i {
data[i]=~data[i];
} 6 如果是二值图
使用函数:bitwise_not()