原始定义
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
其它
学院课程
基础算法的C++实现课程,请点击下面的CSDN学院的链接。 |
2024年1月15之前完全免费,之后绝大部分免费 |
C#入职培训 |
此课程的目的:让新同事更快完成从学生到C#程序员的转换,更快上手完成C#的开发工作。 |
C++入职培训 |
让新同事更快完成从学生到C++程序员的转换,更快上手完成C++的开发工作。 |
运行验证环境
Win10 VS2022 Ck++17 或win7 VS2019 C++17
每天都补充正能量
好好学习,天天向上。 |
事无终始,无务多业。 |
是故置本不安者,无务丰末。 |
相关下载
如果你时间宝贵,只想看精华,请到CSDN下载频道下载《闻缺陷则喜算法册》doc版