HOperatorSet.Rgb1ToGray

简介: HOperatorSet.Rgb1ToGray

原始定义:rgb1_to_gray 类似函数rgb3_to_gray  

我们来试验一下,转换细节。我创建三个1*1的灰度图,分别测试以小六种情况。

一,R=100,G=0,B=0

二,R=200,G=0 ,B = 0

三,R=0  ,G=200,B=0

四,R=0,G=0,B=200

五,R=200,G=200,B=0

六,R=200,G=200,B=200

结果分别为:

一,30

二,60

三,117

四,23

五,177

六,200


规则很明显,从官网查到的如下,和我们的测试结果类似。

gray = 0.299 * red + 0.587 * green + 0.114 * blue .


源码如下:

byte[] barr = { 200 };
            HObject imgR = WHCSHalCon.Base.CreateByteImage(barr, 1);
            barr[0] = 200;
            HObject imgG = WHCSHalCon.Base.CreateByteImage(barr, 1);
            barr[0] = 200;
            HObject imgB = WHCSHalCon.Base.CreateByteImage(barr, 1);
            HObject imgGray;
            HOperatorSet.Rgb3ToGray(imgR, imgG, imgB, out imgGray);
            HTuple ptr, tmp;
            HOperatorSet.GetImagePointer1(imgGray, out ptr, out tmp, out tmp, out tmp);
            byte[] bimg = new byte[barr.Length];
            System.Runtime.InteropServices.Marshal.Copy(ptr, bimg, 0, barr.Length);

开发环境:win7 + VS2022 + halcon12


相关文章
|
7月前
|
存储 计算机视觉 Python
BGR与RGB
BGR与RGB
1892 1
|
1月前
|
存储 编解码 监控
RGB 和 YUV 区别
【10月更文挑战第26天】RGB和YUV在色彩表示原理、数据存储方式、应用场景以及转换关系等方面都存在着明显的区别,它们各自在不同的领域发挥着重要的作用。
|
7月前
GRAY色彩空间
【5月更文挑战第13天】GRAY色彩空间。
51 1
|
7月前
|
计算机视觉
RGB色彩空间
【5月更文挑战第11天】RGB色彩空间。
58 3
|
7月前
|
存储 计算机视觉 索引
BGR
BGR
126 1
|
编解码
理解 RGB & YUV 颜色编码
理解 RGB & YUV 颜色编码
519 0
理解 RGB & YUV 颜色编码
|
Android开发
详解Bitmap之ARGB_8888/RGB_565/ALPHA_8/ARGB_4444
有时会看到别人使用bitmap是用到ARGB_8888/RGB_565这类参数,那么这些参数是什么?对bitmap有什么影响?
576 0
|
C#
c# 颜色RGB到HSB互相转换
原文:c# 颜色RGB到HSB互相转换 1 /// 2 /// 色相,饱和度,亮度转换成rgb值 3 /// 4 /// 5 public static float[] HSB2RGB(float[...
2039 0