"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; }
转载于:https://blog.51cto.com/spikeking/1388029