学习图像处理知识---EmguCV3.4图像--结构体知识点(二)--颜色模块学习

图像处理起点就是颜色,上篇已经学习了BGR等结构体,本节再学习其他。

1.MCvScalar的学习,颜色都是由它搞起。


可以看出由4个分量组成。构造函数也是4个。函数应用中就是把把4个分量变数组。

颜色的接口IColor---主要是维数和每维具体的数组。


其他颜色,常用的Hls,和HSV



double d1 = 0, d2 = 0, d3 = 0, d4 = 0;
            d1 = (double)numericUpDown5.Value;//blue:蓝色分量
            d2 = (double)numericUpDown6.Value;//green绿色分量
            d3 = (double)numericUpDown7.Value; // 红色分量
            
            Hls h1 = new Hls();
            Hsv h2 = new Hsv(d1, d2, d3);
            using (Emgu.CV.Image<Hsv, byte> tu1 = new Image<Hsv, byte>(300, 400, h2))
            {
                string str1, str2, str3, str4, str5, str6;
                double[] kj = h2.MCvScalar.ToArray();
                str6 = string.Format("1:{0};2:{1};3:{2};4:{3}", kj[0], kj[1], kj[2], kj[3]);
                pictureBox1.Image = tu1.ToBitmap();
                str1 = "Dimension:" + h2.Dimension.ToString() + "\n";
                str2 = "Hue :" + h2.Hue + "\n";
                str3 = "Value:" + h2.Value + "\n";
                str4 = "Satuation:" + h2.Satuation + "\n";
                str5 = "MCvScalar:" + "\n" + h2.MCvScalar.V0.ToString() + "\n" + h2.MCvScalar.V1.ToString()
                    + "\n" + h2.MCvScalar.V2.ToString() + "\n" + h2.MCvScalar.V3.ToString() + "\n";

                richTextBox1.Text = str1 + str2 + str3 + str4 + str5 + str6;

扫描二维码关注公众号,回复: 2069567 查看本文章

}

应用重点:主要注意颜色之间进行转换。

应用2种函数:

1.

public static void CvtColor(IInputArray src,IOutputArray dst,ColorConversion code,int dstCn = 0)
其中src为原图像, dst为目标颜色图像尺寸,code为变换类型如下(共140种组合)。


2.用的比较多的直接用image类中.Convert<颜色类型,数据类型> ();





猜你喜欢

转载自blog.csdn.net/tuto7534/article/details/80826289