admin 管理员组文章数量: 888299
图像色彩通道分离与合并
void QuickDemo::channels_demo(Mat& image)
{
//split函数把一张多通道的图的分离成三通道
std::vectormv;
split(image, mv);//分离
imshow(“蓝色”, mv[0]);
imshow(“绿色”, mv[1]);
imshow(“红色”, mv[2]);
//merge函数就是把三个单通道的图像合并成一个多通道图像,
Mat dst;
mv[0] = 0;//归零通道0
//mv[1] = 0;//归零通道0//
merge(mv, dst);//合并三个通道
imshow(“红色”, dst);//显示,跟上面的mv[0] = 0;一起理解就是比如说吧通道0归零了,显示剩下的两个通道
mixChannels主要就是把输入的矩阵(或矩阵数组)的某些通道拆分复制给对应的输出矩阵(或矩阵数组)的某些通道中,其中的对应关系就由fromTo参数制定.
这句话很全面,但是可能有点绕,可以结合下面的代码理解,
输入的矩阵或者数组就是image,输出的矩阵或者的数组就是dst,
然后form_to就是对应的关系,
总结mixChannels,就是输入,输出,然后输出入的关系,
int form_to[] = { 0,2,1,1,2,0 };//0通道的给了2通道,1通道的给了2通道,1通道还是在1通道
mixChannels(&image,1, &dst,1, form_to,3);//通道混合
imshow("通道混合", dst);//最后显示dst
}
本文标签: 图像色彩通道分离与合并
版权声明:本文标题:图像色彩通道分离与合并 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1693581119h230481.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论