当前位置: 首页 > article >正文

Halcon图像颜色通道拆分合并与四则运算

读取图像并标注目标点灰度值,为后续对比做准备

read_image (Image, 'E:/Halcon/图片/880720666518444692.jpg')
dev_set_draw ('margin')
dev_set_color ('green')
dev_get_window (WindowHandle)
query_font (WindowHandle, Font)
FontWithSize := Font[0]+'-40'
set_font (WindowHandle, FontWithSize)
R:=3713.22
C:=4042.07
r:= 100
gen_circle (ROI_0, R, C, r)
get_grayval (Image, R, C, Grayval)
dev_display (Image)
dev_disp_text ('当前点灰度值:'+Grayval, 'image', R+200, C-300, 'black', [], [])
dev_display (ROI_0)

彩色转黑白

 gray = 0.299 * red + 0.587 * green + 0.114 * blue 
rgb1_to_gray (Image, GrayImage1)

decompose3— 将一个 3 通道图像转换为 3 个图像。

decompose3 (Image, ImageR, ImageG, ImageB)
dev_display (ImageR)

dev_display (ImageG)

dev_display (ImageB)

compose3- 将 3 张图像转换为三通道图像。

compose3 (ImageR, ImageG, ImageB, MultiChannelImage1)

channels_to_image— 将单通道图像转换为多通道图像

gen_empty_obj (Images)
concat_obj (ImageR, ImageG, Images)
concat_obj ( Images,ImageB, Images)
channels_to_image (Images, MultiChannelImage)

gen_image_proto- 创建具有指定常量灰度值的图像。

gen_image_proto(Image : ImageCleared : Grayval : )
Image (input_object)  输入图像
ImageCleared (output_object)  具有恒定灰度值的图像。
Grayval (input_control)  用于输出图像的灰度值。

gen_image_proto (Image, ImageCleared, 200)

invert_image 反转灰度值图像。

invert_image (Image, ImageInvert)

append_channel- 将其他矩阵(通道)附加到图像中。
MultiChannelImage (input_object) 多通道图像。
Image (input_object)  要附加的图像。
ImageExtended (output_object)  图像后附加图像.

append_channel (ImageInvert, ImageInvert, ImageExtended)

image_to_channels— 将多通道图像转换为单通道图像

image_to_channels (ImageExtended, Images)

图像则运算

图像相加法 g' := (g1 + g2) * Mult + Add

add_image (ImageR, ImageB, ImageSub, 1, 0)

图像乘法 g' := g1 * g2 * Mult + Add

mult_image (ImageR, ImageB, ImageResult, 0.005, 10)

图像减法g' := (g1 - g2) * Mult + Add

sub_image (ImageB, ImageR, ImageSub1, 1, 128)

图像除法 g' := g1 / g2 * Mult + Add

div_image (ImageB, ImageR, ImageResult1, 20, 0)


http://www.kler.cn/news/365699.html

相关文章:

  • Python游戏开发超详细第二课/一个小游戏等制作过程(入门级篇共2节)
  • 24.redis高性能
  • Android 添加菜单开关控制Camera相机和第三方相机
  • Flutter项目打包ios, Xcode 发布报错 Module‘flutter barcode_scanner‘not found
  • JavaEE----多线程(二)
  • 【AI服务器】全国产PCIe 5.0 Switch SerDes 测试和分析,以11槽PCIe GPU底板(PCIe 4.0/5.0)为例(二)
  • Matlab中实现智能优化算法的平均排序图
  • Redis对象共享池,性能优化小细节
  • 设计模式(七)桥接模式详解
  • Linux之实战命令53:mtr应用实例(八十七)
  • 将获取的数据存储到Excel文件中
  • 动态规划之子数组系列(下)
  • 分行或者分列计算数组中各元素的累积numpy.cumproduct()
  • vue中标签的ref和id的用法和区别优缺点
  • UE5蓝图中忽略触发区域进行碰撞
  • 【Java】输入十个整数,从小到大输出
  • ATom:2016-2018 年来自 CAPS 仪器的云和粗气溶胶测量数据
  • 【C++篇】栈的层叠与队列的流动:在 STL 的韵律中探寻数据结构的优雅之舞
  • 深度学习技术演进:从 CNN、RNN 到 Transformer 的发展与原理解析
  • input标签v-model属性失效
  • softmax回归从零实现
  • 怎么压缩ppt大小?压缩PPT文件非常简单的几种方法
  • Python 语法与数据类型详解
  • 易泊车牌识别相机在智慧工地的应用
  • 中间件之Seata
  • 中小企业设备管理效率提升:Spring Boot系统设计