反转图像

这是我将使用的原始图像。

原图
反转图像就像拍摄负片。
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
        //读取图像
        Mat img = imread("MyPic.jpg");
        namedWindow("Original");
        imshow("Original", img);

        //反转图像
        bitwise_not(img, img);
        namedWindow("Inverted");
        imshow("Inverted", img);

        waitKey(0);
		destroyAllWindows(); 
      
        return 0;
}

反转图


解说

bitwise_not(img, img);
此函数将第一个参数中图像每个元素的每个位取反,然后将结果放入第二个参数图像中。
此功能可以处理图像。这意味着可以将相同的变量用于第一和第二参数。

                                        
例- 对于8位图片,值0将映射为(255-0)= 255
值46将映射到(255-46)= 209
对于16位图像,值0将映射到(65535-0)= 65535
值46将映射为(65535-46)= 65489
void bitwise_not(InputArray src, OutputArray dst, InputArray mask=noArray())
该函数计算输入数组按元素按位求逆。
对于浮点输入数组,其特定于机器的位表示形式(通常符合IEEE754)用于操作。 在多通道阵列的情况下,每个通道都是独立处理的。

参数: