在photoshop中,两个图层间可以有许多叠加算法。
如下图所示:
变暗
正片叠底
颜色减淡
叠加
有兴趣的朋友可以逐一试一试。
这个系列的贴子勇哥就想着模拟实现photoshop的这些算法。
第一篇是图像的加法。
===============================
read_image (cat, ‘C:/Users/PC01/Desktop/timg (1)_副本.jpg’)
rgb1_to_gray (cat, cat)
get_image_size (cat, Width, Height)
*将灰度数据类型转换为实数
convert_image_type (cat, ImageConverted, ‘real’)
*生成同样大小灰度为0的图
gen_image_const (cat2, ‘real’, Width, Height)
for i:=0 to 10 by 1
add_noise_white (ImageConverted, ImageNoise, 90)
add_image (ImageNoise, cat2, ImageResult,1, 0)
endfor
scale_image (ImageResult, ImageScaled, 0.1, 0)
stop()
read_image (cat, ‘C:/Users/PC01/Desktop/timg (1)_副本.jpg’)
rgb1_to_gray (cat, cat)
get_image_size (cat, Width, Height)
*将灰度数据类型转换为实数
convert_image_type (cat, ImageConverted, ‘real’)
*生成同样大小灰度为0的图
gen_image_const (cat2, ‘real’, Width, Height)
for i:=0 to 10 by 1
add_noise_white (ImageConverted, ImageNoise, 90)
add_image (ImageNoise, cat2, ImageResult,1, 0)
endfor
scale_image (ImageResult, ImageScaled, 0.1, 0)
stop()
read_image (Image, ‘C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/patras.png’)
read_image (Image1, ‘C:/Users/Public/Documents/MVTec/HALCON-12.0/examples/images/brycecanyon1.png’)
*裁剪图片
crop_part (Image1, ImagePart, 0, 0, 512, 480)
crop_part (Image, ImagePart1, 0, 0, 512, 480)
dev_open_window_fit_image (ImagePart1, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, ‘mono’, ‘true’, ‘false’)
dev_display (ImagePart1)
disp_message (WindowHandle, ‘image1’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowHandle, ‘black’, ‘true’)
stop()
dev_display (ImagePart)
disp_message (WindowHandle, ‘image2’, ‘window’, 12, 12, ‘black’, ‘true’)
disp_continue_message (WindowHandle, ‘black’, ‘true’)
stop()
add_image (ImagePart1, ImagePart, ImageResult1, 0.5, 0)
dev_display (ImageResult1)
这个效果,看上去跟photoshop的图层叠加效果相近,但是ps那边色彩亮丽些,而这个效果灰度比较重。
可见photoshop那边不是简单的图片加法。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

