其实在图像处理中,拉开对比度是最重要的一项。常用的拉开对比度方式和使用算子如下:
1.将RGB图像拆分通道 算子:decompose3()将RGB图像拆分成三个通道 R G B,数字3表示按照3通道拆分 -> trans_from_rgb()转换成HSI格式进行拉开对比度。也有可能直接就拉开对比度。 2.将彩图RGB转换为Gray格式 算子:rgb1_to_gray()将R G B 图像转换成灰度图像。在灰度图像对话框内,缩放(灰度变换)选项下调整对比度,可能会直接拉开对比度 3.或者将R G B 图像转换成 H S I格式 拆通道 算子:trans_from_rgb()这个函数前面三个参数是某一个R G B图像的三个分量 R G B - 转换原图为H S I 格式,选择合适的分量 H或S或I 进行二值化处理,这也是一种图像增强拉开对比度的方式。 4.图像像素增强函数 算子:emphasize(Image : ImageEmphasize : MaskWidth, MaskHeight, Factor : )可随意增加强 R G B 中的一种,因为需要定位中间数,所以参数3和参数4必须是基数矩阵数据而且只能是基数,这里涉及一个卷积运算(后面研究),但是这个函数并不是卷积 运算计算,参数5越大则增强的效果越大 – mean_image() 算子:scale_image() 利用灰度图像处理对话框中 缩放(灰度处理)选项 - 插入代码进行图像增强 算子:illuminate(Image : ImageIlluminate : MaskWidth, MaskHeight, Factor : )
5. 颜色反转 算子:invert_image(Image : ImageInvert : : ) 6. 高斯函数处理 差分高斯 得到的不是灰度值,是一种比例因子关系一般在背景纹理比较复杂的情况下,虽然背景纹理复杂,但是图像比例还算有点点清晰的情况下。 diff_of_gauss (ImageR, DiffOfGauss, DotDiameter / 2, 2) 其他算子 laplace_of_gauss (Operator) derivate_gauss (Operator) 7. 二值化算子 快速二值化算子 可根据需要设置参数 [max_separability,smooth_?????],[light,dark] binary_threshold (ImageScaled, Region, 'max_separability', 'light', UsedThreshold) |
一般有两种方法
方法1:
第 1 步:
将RBG图片分割成三个分量通道,选择最优对比度通道图像
decompose3 (Img1530, Image1, Image2, Image3)
方法2:
第1步:将RGB图像直接转换成灰度图像
rgb1_to_gray (ImageScaled, GrayImage)
第 2 步:选择合适的 R G B 中的某一个分量 在灰度直方图中进行筛选,缩放 得到的结果是Imgae,阈值得到的结果是区域Region
scale_image (Image1, ImageScaled, 19.6154, -922)
线性变换原理 像素变换公式ImageScaled = Image1 * 19.6154 - 922
第 3 步:进行二值化处理。binary_threshold()函数只能处理Image图像类型格式。得到的结果是Region格式。二值化参数可选 light/dark
binary_threshold (ImageScaled, Region, 'max_separability', 'light', UsedThreshold)
其它图像拉开对比度的方式
在这之中拉开对比度是最重点的。通常字符/图片在显示生活中的显示方式是 平面印刷 、雕刻凹陷、浮雕凸起这三大类,其中雕刻凹陷、浮雕凸起由于光照影响,对比度非常接近,因此一般需要使用高斯处理则可将其对比度拉开提取特征值。差分高斯
差分高斯 得到的不是灰度值,是一种比例因子关系一般在背景纹理比较复杂的情况下,虽然背景纹理复杂,但是图像比例还算有点点清晰的情况下。其他算子 拉布拉思 延伸高斯
diff_of_gauss (ImageR, DiffOfGauss, DotDiameter / 2, 2)
laplace_of_gauss (Operator)
derivate_gauss (Operator)
equ_histo_image (Operator) 拉开对比度