将real类型图片编码成PNG的图片:

其原理在于以一定的编码方式,将real类型的实际高度信息转为16位的PNG图,同时,在最后一行将图片的编码方式存储下来,解码时先将编码方式读取,再将PNG格式深度图转为real类型的图片。

dev_clear_window ()
dev_open_window (0, 0, 545, 400, 'black', WindowHandle)*定义编码格式
X_SCALE:=1
X_OFFSET:=0
Y_SCALE:=1
Y_OFFSET:=0
Z_SCALE:=3000
Z_OFFSET:=[]
read_image (Image, '/12-03-15-34-58-155.tif')
get_image_size (Image, Width, Height)
*获取图像上最低点和最高点
threshold (Image, Region, -999999, 999999)
min_max_gray (Region, Image, 0, Z_MIN, Z_MAX, Range)
Z_OFFSET:=Z_MIN*Z_SCALE
*将图像转为16位图像
gen_image_const (Image1, 'real', Width, Height)
gen_image_proto (Image1, ImageCleared, Z_MIN)
sub_image (Image, ImageCleared, ImageSub, Z_SCALE, 0)
convert_image_type (ImageSub, Image2, 'uint2')
*将两张图象融合
gen_image_const (Image3, 'uint2', Width, Height+1)
gen_rectangle1(Rectangle, 0, 0, Height-1, Width-1)
get_region_points (Rectangle, Rows, Columns)
get_grayval_interpolated (Image2, Rows, Columns, 'bilinear', Grayval)*存储编码方式
set_grayval (Image3, Rows, Columns, Grayval)
set_grayval (Image3, 1600, 0, X_OFFSET)
set_grayval (Image3, 1600, 3, X_SCALE)
set_grayval (Image3, 1600, 7, Y_OFFSET)
set_grayval (Image3, 1600, 11, Y_SCALE)
set_grayval (Image3, 1600, 15, Z_OFFSET)
set_grayval (Image3, 1600, 19, Z_SCALE)
write_image (Image3, 'png', 0, 'E:/Halcon程度代码/test.png')

PNG转real类型:

dev_clear_window ()
dev_open_window (0, 0, 545, 400, 'black', WindowHandle)
read_image (Test, 'E:/Halcon程度代码/test.png')
get_image_size (Test, Width, Height)
X_OFFSET:=[]
X_SCALE:=[]
Y_OFFSET:=[]
Y_SCALE:=[]
Z_OFFSET:=[]
Z_SCALE:=[]*读取编码信息
get_grayval (Test, Height-1, 0, X_OFFSET)
get_grayval (Test, Height-1, 3, X_SCALE)
get_grayval (Test, Height-1, 7, Y_OFFSET)
get_grayval (Test, Height-1, 11, Y_SCALE)
get_grayval (Test, Height-1, 15, Z_OFFSET)
get_grayval (Test, Height-1, 19, Z_SCALE)
Z_MIN:=1.0*Z_OFFSET/Z_SCALE
crop_part (Test, ImagePart, 0, 0, Width, Height-1)
get_image_size (ImagePart, Width1, Height1)
gen_rectangle1 (Rectangle, 0, 0, Height1-1, Width1-1)
get_region_points (Rectangle, Rows, Columns)
get_grayval_interpolated (ImagePart, Rows, Columns, 'bilinear', Grayval)
Grayval1:=Grayval/Z_SCALE+Z_MIN
gen_image_const (Image, 'real', Width1, Height1)
set_grayval (Image, Rows, Columns, Grayval1)

tif格式real类型图片与16位PNG图片的转化(编码/解码)相关推荐

  1. 24位深的bmp图片转换为16位深RGB565格式的bmp图片源码

    /**24位深的bmp图片转换为16位深RGB565格式的bmp图片**/ #include <iostream> #include <stdio.h> #include &l ...

  2. js大数字类型(超过16位)失真问题

    bug经过:点击修改无法展示信息(修改时调用queryOne,以id(long)为值,页面传过去的id=1480042498255640-00 ,在数据库中该id=148004249825564012 ...

  3. oracle number 16位,loopback-connector-oracle 主键Number类型长度为16位以上查询不到数据解决方法...

    历史遗留问题,oracle表中主键Number类型,有13,14,15,16位长度主键,用loopback查询,如果主键16位长度的,查询不到数据.纠结了几天,修改以下代码解决了.粗暴的决绝方法 /* ...

  4. java长整型数输入格式_java编程之计算16位长整型数字中0-9出现次数(从命令窗输入数据)...

    /* *读入一个16位的长整型,利用switch语句计算0-9这十个数字中,每个字出现的次数 **/ import java.util.Scanner; class number{ public st ...

  5. Halcon real类型TIF与16位PNG相互转换算法

    *************** *Tif转PNG *************** *图片的编码信息 Z_MAX:=[] Z_MIN:=[] Z_SCALE:=[] X_OFFSET:=0 X_SCAL ...

  6. opencv读取16位色深图片

    最近希望使用opencv处理从realsense获取的深度图像,但是realsense的深度图是单通道16位的,而opencv的显示函数默认接收的数据类型都是uint8,实际使用存在一些问题 open ...

  7. 插件 图片取模软件 支持16位数组 Bmp2RGB

    下载 软件下载点击这里 软件介绍 Bit Mode 选择图片色深,支持8.12.16.32 Color seq 选择图片颜射格式RGB.BGR Bit Interface 选择图片转换后的位数 Mis ...

  8. 16位位图格式及对16位位图的一点个人总结

    原文地址::http://hi.baidu.com/rmgsxpxtzebcdpd/item/2fa5bf4e7f576c0be9350470 http://hi.baidu.com/wentao/b ...

  9. 使用Python,OpenCV进行卡类型及16位卡号数字的OCR

    使用Python,OpenCV进行卡类型及16位卡号数字的OCR 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 参考 这篇博客将介绍如何通过Ope ...

最新文章

  1. Swift - 简单的原生与网页交互
  2. python系统-Python OS模块常用功能 中文图文详解
  3. java中跳出当前循环怎么做_在java中,如何跳出当前的多重循环?
  4. php拿站,从建站到拿站
  5. android中设置控件的搞,Android中如何自定义控件
  6. 解决java.lang.NoClassDefFoundError: org/apache/log4j/Level
  7. 个人收集资料分享(电子、计算机相关)
  8. 生态 | 协同办公软件发展任重道远——基于数据库领域视角
  9. PowerBI使用折线图分析异常数据
  10. ffmpeg命令操作 合并视频 取图片帧数 获取音频
  11. 数独的生成算法和解题算法
  12. Window10系统下触摸板失灵了 该咋处理
  13. 《编写高质量代码(改善Java程序的151个建议)》读书笔记
  14. 计算机课教学常规要求,职业学校计算机专业常规课堂教学模式探究
  15. 在 Windows 11、10 中隐藏某个磁盘
  16. Vue-2-计算属性、侦听器、过滤器、样式绑定
  17. 局域网公用一个mysql数据库
  18. VUE项目实践--网站管理系统
  19. 微信小程序商城系列之商品列表页(一)
  20. 【机器学习】Google机器学习工程的43条最佳实践

热门文章

  1. wps下载 如何用WPS文字制作一份简易的菜谱
  2. raid 10动态扩容
  3. openssl公钥格式转换
  4. js 面试题汇总,面经汇总
  5. 江苏大学计算机组成原理课设6,计算机组成原理课程设计报告江苏大学适用于软件工程...
  6. 程序员一眼就会爱上的 7 个网站
  7. 支持iso和android的角色游戏,妄想山海iOS的角色可以转去安卓
  8. [csp模拟2]T4——咕咕东的奇妙序列
  9. linux mrtg 安装,17.1.2 Linux下MRTG的安装与配置
  10. Android ROM编译、调试