Image Processing - Pseudo(False) Color Processing
最近在一个项目中有需要用到将图片从GrayScale转为FalseColor,然而百度了一下Halcon 伪彩色等关键字均找不到相关答案,倒是有很多OpenCV和Matlab的...后来在搜索中看到了一个lut字眼,恍然记起Halcon中有 set_lut 的这条Operator。试了一下果然是这条算子,在这里记录下来,方便其他人搜索。
Halcon中的实现
read_image (Img1, 'img1')
access_channel (Img1, Image, 1)
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
query_lut(WindowHandle,LUTs)
for i := 0 to |LUTs|-1 by 1
dev_set_lut(LUTs[i])
dev_display (Image)
disp_message (WindowHandle, LUTs[i], 'window', 12, 12, 'black', 'true')
wait_seconds(1)
endfor
各个参数效果如下:
伪彩色处理的原理和方法
当然,很多时候Halcon等视觉函数库在给我们提供便利的同时,也会给我们带来桎梏。我们只能使用它们给定的参数,而失去自定义的自由。所以理解原理,在必要的时候可以帮助我们做出自己的函数。
伪彩处理是指将黑白图像转化为彩色图像的一种图像处理技术。主要作用的提高人眼对图像细节的辨识度,主流的伪彩色处理有密度分层法和灰度级-彩色变换法。
1. 密度分层法
密度分层法:把灰度图像的灰度级分成N个区间,并为每个区间指定一种彩色,如此将一幅灰度图像转变成一幅伪彩图像。
2. 灰度级-彩色变换法
灰度级-彩色变换法:灰度图像的灰度级分别在红、绿、蓝三个通道上有对应的预设函数,三个函数的输出即可组成伪彩色。
3. 总结
伪彩色处理,将灰度空间映射在彩色空间。
Image Processing - Pseudo(False) Color Processing的更多相关文章
- Color Processing 色彩处理
How to read and write pixel data Bitmap processing Image Stride Bayer Color Filter Pattern High-Qual ...
- Method of offloading iSCSI TCP/IP processing from a host processing unit, and related iSCSI TCP/IP offload engine
A method of offloading, from a host data processing unit (205), iSCSI TCP/IP processing of data stre ...
- Video processing systems and methods
BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...
- Architectures for concurrent graphics processing operations
BACKGROUND 1. Field The present invention generally relates to rendering two-dimension representatio ...
- 插件化注解处理API(Pluggable Annotation Processing API)
Java奇技淫巧-插件化注解处理API(Pluggable Annotation Processing API) 参考资料 JDK6的新特性之六:插入式注解处理API(Pluggable Annota ...
- Intel graphics processing units
http://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units Comparison of Intel graph ...
- 【转】Java奇技淫巧-插件化注解处理API(Pluggable Annotation Processing API)
参考资料 JDK6的新特性之六:插入式注解处理API(Pluggable Annotation Processing API) Java Annotation Processing and Creat ...
- Libraries&Workflow for a modern geospatial processing(现代地理空间处理的库与工作流)
Libraries for a modern geospatial workflow现代地理空间工作的类库 Distribution Writing, Running, and Distributin ...
- Processing简明教程与Java平台移植方法
1 Processing 1.1 Processing简介 Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概 ...
随机推荐
- 九度OJ 1162:I Wanna Go Home(我想回家) (最短路径)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:870 解决:415 题目描述: The country is facing a terrible civil war----cities i ...
- Kubernetes TensorFlow 默认 特定 集群管理器
Our goal is to foster an ecosystem of components and tools that relieve the burden of running applic ...
- 【iOS开发-63】Unknown type name "CGRect",did you mean "Rect"?的解决方式
出现这个问题的童鞋,差点儿都是由于用了Xcode6. 原因:在Xcode6之前,创建的文件系统会自己主动为用户导入Foundation.h和UIKit.h文件,可是最新的Xcode6仅仅为用户导入了F ...
- CF A. DZY Loves Hash
A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- HDU - 1541 Stars 【树状数组】
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1541 题意 求每个等级的星星有多少个 当前这个星星的左下角 有多少个 星星 它的等级就是多少 和它同一 ...
- Cocoapods的安装以及使用
在网上看博客,看了好多次,都没有学会cocoapods,今天上午浪费了一上午的时间,终于算是学会了.其实也是很简单的. iOS 新版 CocoaPods 安装流程 1.换掉现有Ruby默认源(由于好多 ...
- leetcode 304. Range Sum Query 2D - Immutable(递推)
Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper lef ...
- 暑假集训Chapter1 贪心
为什么要今天写呢? 明天全力研究Johnson和一些奇奇怪怪的贪心 今天把能写的都写了 T1T2太水了直接上代码吧 #include<bits/stdc++.h> #define LL l ...
- 创建maven多模块项目
一:创建父项目
- ACM学习历程—HDU 5326 Work(树形递推)
Problem Description It’s an interesting experience to move from ICPC to work, end my college life an ...