最近在一个项目中有需要用到将图片从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的更多相关文章

  1. Color Processing 色彩处理

    How to read and write pixel data Bitmap processing Image Stride Bayer Color Filter Pattern High-Qual ...

  2. 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 ...

  3. Video processing systems and methods

    BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...

  4. Architectures for concurrent graphics processing operations

    BACKGROUND 1. Field The present invention generally relates to rendering two-dimension representatio ...

  5. 插件化注解处理API(Pluggable Annotation Processing API)

    Java奇技淫巧-插件化注解处理API(Pluggable Annotation Processing API) 参考资料 JDK6的新特性之六:插入式注解处理API(Pluggable Annota ...

  6. Intel graphics processing units

    http://en.wikipedia.org/wiki/Comparison_of_Intel_graphics_processing_units Comparison of Intel graph ...

  7. 【转】Java奇技淫巧-插件化注解处理API(Pluggable Annotation Processing API)

    参考资料 JDK6的新特性之六:插入式注解处理API(Pluggable Annotation Processing API) Java Annotation Processing and Creat ...

  8. Libraries&Workflow for a modern geospatial processing(现代地理空间处理的库与工作流)

    Libraries for a modern geospatial workflow现代地理空间工作的类库 Distribution Writing, Running, and Distributin ...

  9. Processing简明教程与Java平台移植方法

    1 Processing    1.1 Processing简介          Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概 ...

随机推荐

  1. 九度OJ 1162:I Wanna Go Home(我想回家) (最短路径)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:870 解决:415 题目描述: The country is facing a terrible civil war----cities i ...

  2. Kubernetes TensorFlow 默认 特定 集群管理器

    Our goal is to foster an ecosystem of components and tools that relieve the burden of running applic ...

  3. 【iOS开发-63】Unknown type name "CGRect",did you mean "Rect"?的解决方式

    出现这个问题的童鞋,差点儿都是由于用了Xcode6. 原因:在Xcode6之前,创建的文件系统会自己主动为用户导入Foundation.h和UIKit.h文件,可是最新的Xcode6仅仅为用户导入了F ...

  4. CF A. DZY Loves Hash

    A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  5. HDU - 1541 Stars 【树状数组】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1541 题意 求每个等级的星星有多少个 当前这个星星的左下角 有多少个 星星 它的等级就是多少 和它同一 ...

  6. Cocoapods的安装以及使用

    在网上看博客,看了好多次,都没有学会cocoapods,今天上午浪费了一上午的时间,终于算是学会了.其实也是很简单的. iOS 新版 CocoaPods 安装流程 1.换掉现有Ruby默认源(由于好多 ...

  7. 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 ...

  8. 暑假集训Chapter1 贪心

    为什么要今天写呢? 明天全力研究Johnson和一些奇奇怪怪的贪心 今天把能写的都写了 T1T2太水了直接上代码吧 #include<bits/stdc++.h> #define LL l ...

  9. 创建maven多模块项目

    一:创建父项目

  10. ACM学习历程—HDU 5326 Work(树形递推)

    Problem Description It’s an interesting experience to move from ICPC to work, end my college life an ...