前言
因需要对一张二值图像进行反转操作,即“黑转白,白转黑”操作,因网上资料混杂,在此给出一篇博客记录。
运行环境:ubuntu18 + cmake + opencv4
- 什么是二值图像?
在一张只有黑色和白色的图像中,这种图像的像素灰度值无论在什么数据类型中只有最大值和最小值两种取值,因此称为二值图像。
例如:
案例
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
int main(int argc,char** argv)
{
cv::Mat img = cv::imread("/home/qiy/桌面/test02.jpg");
if(img.empty())
{
std::cout<<"error!"<<std::endl;
return;
}
//因为已经是二值化的图片,无需再次二值化
//Mat gray;
//cv::cvtColor(img, gray, COLOR_BGR2GRAY);
cv::Mat gray_binary