zoukankan      html  css  js  c++  java
  • Opencv 图像数字化 Mat

    灰度图像数字化

    灰度图像的位深度为8位,图像中的每一个像素点灰度的深浅由256个数字来衡量,所以灰度图在计算机面前就是一个单通道数字矩阵。通过设置imread函数中的flag参数为IMREAD_GRAYSCALE即可将灰度图转化为Mat

    # include <opencv2corecore.hpp>
    # include <opencv2highguihighgui.hpp>
    #include <iostream>
    using namespace std;
    using namespace cv;
    int main()
    {
    	// ## 灰度图像转化为Mat:使用imread
    	//输入图像矩阵
    	Mat img = imread("C:/users/76973/desktop/output_image1.jpg",IMREAD_GRAYSCALE);
    	if (img.empty())
    		return -1;
    	//定义显示原图的窗口
    	string winname = "原图";
    	namedWindow(winname);
    	imshow(winname, img);
    	waitKey(0);
    }
    

    彩色图像数字化

    彩色图像每个像素点可以看作一个三行一列类型为uchar的单位向量,即Vec3b.
    RGB彩色图片每个通道为8位图,所以一共是24位。通过设置imread函数中的flag参数为IMREAD_COLOR即可将彩色图转化为Mat

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <iostream>
    using namespace cv;
    using namespace std;
    int main()
    {
    	//输入图像矩阵
    	Mat img = imread("C:/users/76973/desktop/compressedpicture.jpg", IMREAD_COLOR);
    	if (img.empty())
    		return -1;
    	//显示彩色图像
    	imshow("BGR", img);
    	vector<Mat> planes;
    	split(img, planes);
    	//显示B通道
    	imshow("B", planes[0]);
    	//显示G通道
    	imshow("G", planes[1]);
    	//显示R通道
    	imshow("R", planes[2]);
    	waitKey(0);
    }
    
  • 相关阅读:
    从app加载页面说开去
    NSLog打印各种类型数据的方法
    17个常用代码整理
    成为优秀程序员的10点建议
    iOS常用第三方类库
    iPhone开发如何捕获提交异常日志
    IOS 关于四舍五入的神器NSDecimalNumber
    面向对象与面向过程的一点思考
    程序员,你会为谁卖命?
    关于面向对象的一点思考
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13860129.html
Copyright © 2011-2022 走看看