转自 作者:xh6300 出处:http://www.cnblogs.com/xh6300/
add_image 使两张图像相加
add_image(Img1, Img2: ImgResult : Mult, Add : ),g' := (g1 + g2) * Mult + Add,Img1与Img2的大小尺寸必须一样,可以使用crop_part截取相同尺寸的图像
sub_image 图像作差 g' := (g1 - g2) * Mult + Add
mult_image 图像相乘 g' := g1 * g2 * Mult + Add
div_image 图像相除 g' := g1 / g2 * Mult + Add
abs_image 计算一张图像的绝对值(图像的阈值范围不一定都是0-255,“灰度值”可能为负)
invert_image 图像反相
max_image 逐像素计算两张图像的最大值,生成新图像
min_image 逐像素计算两张图像的最小值,生成新图像
2、图像增强和图像预处理
scale_image 重新映射图像的灰度值(参考原作者封装的函数scale_gray_map的实现:https://www.cnblogs.com/xh6300/p/7512532.html)
scale_image(Image : ImageScaled : Mult, Add : ) g' := g * Mult + Add Mult=255/(GMax-GMin) Add=-Mult*GMin
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
Mult := 255.0 / (Max - Min)
Add := -Mult * Min
scale_image (Image, Image2, Mult, Add)
return ()
scale_image_max 将图像色阶映射到0-255
emphasize 锐化增强图像对比度
mean_image 均值滤波平滑
gauss_image 高斯滤波平滑
median_image 中值滤波平滑
3、图像裁切
crop_part 截取出图中的一部分(reduce_domain 、crop_domain )
get_domain 得到整张图像的定义域Region
change_format 改变Image图像大小(以原点为起点截取)
4、图像灰度特征获取
get_grayval 得到图像指定坐标处的像素灰度值
set_grayval 设置图像指定坐标处的像素灰度值
min_max_gray 获得一张图像内指定区域灰度的最大值和最小值
intensity 计算图像灰度值的均值和标准差
5、图像创建和绘制
copy_image 复制一张图像并为它分配新内存
gen_image_const 创建一个指定类型的(灰度值为0的)图像
gen_image_proto 使用指定的常量灰度值创建图像
paint_region 在指定区域用某种颜色涂抹该图像(彩色图像要用形如[56,28,100]的方式表示颜色)
region_to_mean 以图像的平均灰度值涂抹该图像
6、图像通道相关的运算
compose3 将三张图像合并成一张三通道图像
decompose3 将一张RGB图像按通道转换成三张图像
access_channel 得到某张图的某个通道图像
append_channel 将某张图作为一个通道添加到一张图上
channels_to_image 将多张单通道图像合并成一张多通道图像
image_to_channels 将多通道图像转换为多张单通道图像
count_channels 计算图像的通道个数
7、图像格式转换
convert_image_type 转换图像的格式(不同图像格式的阈值范围不同)
cfa_to_rgb 把一张单通道图像变成RGB图像(单CCD相机通过CFA获取图像的颜色信息,根据CFA的不同排列,可将其分成BGGR、GBRG、GRBG和RGGB 4种格式。参考:http://www.eope.net/article/2014/1004-924X-22-481.html)
rgb1_to_gray 把一张RGB图像转变成一张灰度图像
rgb3_to_gray 将三张分别代表R、G、B通道的灰度图像合并成一张灰度图像
trans_from_rgb 把一张图像从RGB颜色空间转变成任意颜色空间
trans_to_rgb 把一张图像从任意颜色空间转变成RGB颜色空间