HALCON学习笔记(二)——数据结构

HALCON Image图像

`  

数据结构(图像参数是图像处理软件特有的数据结构) 图形参数 image,region,XLD
控制参数 string,integer,real,handle,Tuple
  • Image的分类与通道

Image的分类:

通常分为二值图像灰度图像RGB图像

Image的通道:

如果图像内像素点的值用一个灰度级数值表示那么图像有一个通道;一幅完整的彩色图像红绿蓝三个通道同时存在。

图像深度是指存储每个像素所用的位数,用于度量图像的彩色分辨率,图像深度确定了彩色图像每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。

 

将Image图像的通道与MultiChannelImage图像的通道叠加得到新的图像:

append_channel(MultiChannelImage多通道图像,Image要叠加的图像:ImageExtended叠加后得到的图像::)

转换三通道色彩图像为三个单通道灰度图:

decompose3(MultiChannelImage要进行转换的三通道图像,Image1转换后的red通道,Image2转换后的green通道,Image3转换后的blue通道::)

将多通道图像转换为多幅单通道图像:

image_to_channels(MultiChannelImage要进行转换的多通道彩色图像:Images转换后得到的单通道图像::)

将三个单通道灰度图像合并成一个三通道彩色图像:

compose3(Image1通道1,Image2通道2,Image3通道3:MutiChannelImage转换后的到的三通道彩色图像::)

将多幅单通道图像合并成一幅多通道彩色图像:

channels_to_image(Images要进行合并的单通道图像:MultiChannelImage合并得到的多通道彩色图像::)

计算图像的通道数:

count_channels(MultiChannelImage要计算通道的图像:::Channels计算得到的图像通道数

将彩色图像从RGB空间转换到其他颜色空间:

trans_from_rgb(ImageRedR通道,ImageGreenG通道,ImageBlueB通道:ImageResult1,ImageResult2,ImageResult3:ColorSpace输出颜色空间‘hsv’,'hls','ihs','yiq','yuv'等:)

获取单通道图像的指针:

get_image_pointer1(Image输入图像:::Pointer图像的指针,Type图像的类型,Width图宽,Height图高

获取多通道图像的指针:

get_image_pointer3(ImageRGB输入的多通道彩色图像:::PointerRed红色通道的图像数据指针,PointerGreen绿色通道的图像数据指针,PointerBlue蓝色通道的图像数据指针,Type图像类型,Width图像高,Height图像宽

图像通道实例:

*读取图像
read_image(Image,'1.png')
*计算图像的通道数
count_channels(Image,Num)
*循环读取每个通道的图像
for index:=1 to Num by 1
*获取多通道图像中指定通道的图像
access_channel(Image,channel1,index)
endfor
*分解通道
decompose3(Image,image1,image2,image3)
*RGB通道转HSV通道
trans_from_rgb(image1,image1,image1,imageresult1,iamgeresult2,imageresult3,'hsv')
*合并通道
compose2(image3,image2,MultiChannelimage1)
*向图像附加通道
append_channel(MultiChannelimage1,image3,imageextended)

Image其他常用算子

创建灰度值为零的图像:

gen_image_const(:Image创建灰度值为零的图像:Type图像类型,Width图宽,Height图高:)

指定图像像素为同一灰度值:

gen_image_proto(Image输入图像:ImageCleard具有恒定灰度值的图像:Grayval指定的灰度值:)

计算图像的尺寸:

get_image_size(Image输入的图像:::Width图宽,Height图高

得到图像的定义域

get_domain(Image输入图像:Domain得到图像的定义域::)

裁剪图像得到新图像:

crop_domain(Image输入图像:ImagePart裁剪后的图像::)

获取图像像素点的灰度值:

get_grayval(Image输入图像::Row像素点的行坐标,Column像素点的列坐标:Grayval像素点灰度值)

常用算子相关实例:

*创建灰度值为零的图像
gen_image_const(Image,'byte',50,50)
*计算图像尺寸
get_image_size(Image,width,height)
*指定图像像素为同一灰度值
gen_image_proto(Image,Domain)
*裁剪后得到新图像
crop_domain(Image,ImagePart)
*获取图像像素的灰度值
get_grayval(ImagePart,10,10,Grayval)
*设置图像像素点的灰度值
set_grayval(ImagePart.10,10,255)

HALCON Region区域

阈值分割图像获得区域:

threshold(Image要进行阈值分割的图像:Region经过阈值分割得到的区域:Mingray阈值分割的最小灰度值,MaxGray阈值分割的最大灰度值:)

阈值分割实例:

read_image(Image,'1')
dev_close_window()
get_image_size(Image,Width,Height)
dev_open_window(0,0,Width,Height,'white',WindowHandle)
dev_display(Image)
dev_set_color('red')
*阈值分割图像获得区域
threshold(Image,Regions,0,130)

使用灰度直方图确定阈值参数:工具栏—灰度直方图移动红色绿色竖线修改参数—选择平滑选项—插入代码

使用区域生长法分割图像获得区域:

regiongrowing(Image要进行分割的图像:Regions分割后得到的区域:Row掩膜高,Column掩膜宽,Tolerance掩膜内灰度值差小于等于某个值就认定是同一个区域,MinSize单个区域的最小面积值:)

区域生长分割图像思路:在图像内移动大小为Row*Column的矩形模板,比较图像与模板中心点灰度值的相近程度,两灰度值差小于某一值则认为是同一区域,使用之前最好是用光滑滤波算子对图像进行平滑处理

区域生长法获取区域实例:

read_image(Image,'1')
dev_close_window()
get_image_size(Image,Width,Height)
dev_open_window(0,0,Width,Height,'white',WindowID)
*平滑图像
median_image(Image,ImageMedian,'circle',2,'mirrored')
*区域生长法分割图像获得区域
regiongrowing(ImageMedian,Regions,1,1,2,100)

获取图像指定区域的灰度直方图:

gray_histo(Regions计算灰度直方图的区域,Image计算灰度直方图区域所在的图像:::AbsoluteHisto各灰度值出现的次数,RelativeHisto各灰度值出现的频率)

将获得的灰度直方图转换为区域:

gen_region_histo(:Region包含灰度直方图的区域:Histogram输入的灰度直方图,Row灰度直方图的中心x坐标,Column灰度直方图的中心y坐标,Scale灰度直方图的比例因子:)

获得图像指定灰度直方图实例:

read_image(Image,'1')
dev_close_window()
get_image_size(Image,Width,Height)
dev_open_window(0,0,Width,Height,'black',WindowID)
dev_display(Image)
dev_set_draw('margin')
dev_set_color('red')
*创建平行坐标轴的矩形
gen_rectangle1(rectangle1,351,289,407,340)
dev_set_color('green')
g
  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值