OpenCV - "cv::Mat_"容器 的 使用 及 示例

"cv::Mat_"容器 的 使用 及 示例

 

"cv::Mat"是一种矩阵, 包括多通道和单通道. 可以转换为容器(container), 并使用容器的相关操作. 需要用到"cv::Mat_".

如: cv::Mat image = cv::imread("heels.jpg"); cv::Mat_<cv::Vec3b> cimage = image;

cv::Vec3b (typedef Vec<uchar, 3> Vec3b): 三维的uchar类型.

cv::Mat_: cv::Mat的引用(&).

代码(VS2012), 去掉图片的蓝色通道(BGR):

#include <opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main (void) {
	cv::Mat image = cv::imread("heels.jpg");
	cv::Mat_<cv::Vec3b> cimage = image; // c 代表 "container"
	for(auto it = cimage.begin(); it != cimage.end(); ++it){
		(*it)[0] = 0;
	}
	cv::imshow("Heels", image);
	cv::waitKey(0);
	return 0;
}


OpenCV - "cv::Mat_"容器 的 使用 及 示例_第1张图片

你可能感兴趣的:(opencv,容器,Mystra,Mat_)