|
图像增强
1、灰度值增强
1.1 计算公式
其中:g’为增强后灰度值,g为增强前灰度值,mult, add为增强参数。灰度值超出[0,255]范围的将被截断。
1.2 代码实验
import cv2
import numpy as np
mult = 2
add = 0
img=cv2.imread('vessel.png',0)
scale_img = np.zeros((img.shape[0],img.shape[1]),dtype = np.uint8)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
g = int(add + img[i,j].astype(int)*mult)
if g <0:
g =0
if g > 255:
g = 255
scale_img[i,j] = g
cv2.imshow('orige image',img)
cv2.imshow('scale image',scale_img)
cv2.imwrite('vessel_scale.jpg',scale_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
实验结果:
左图为原图,右图为增强后图像。
2、对比度增强
2.1 计算公式
其中:g’为增强后灰度值,g为增强前灰度值,g_mean为图像灰度值均值,a为增强参数,灰度值超出[0,255]范围的将被截断。比均值大的灰度值会增加,比均值小的灰度值会减少,结果是增强边界效果。
2.2 代码实验
import cv2
import numpy as np
a = 1.5
img=cv2.imread('mreut.png',0)
mean = cv2.blur(img, (9,9))
emphasize_img = np.zeros((img.shape[0],img.shape[1]),dtype = np.uint8)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
g = round(img[i,j].astype(int)+a*(img[i,j].astype(int)-mean[i,j].astype(int)))
if g <0:
g =0
if g > 255:
g = 255
emphasize_img[i,j] = g
cv2.imshow('origeimage',img)
cv2.imshow('emphasize image',emphasize_img)
cv2.imwrite('mreut_emphasize.jpg',emphasize_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
实验结果:
左图为原图,右图为增强后图像。
3 对比度归一化
3.1 计算公式为
其中:g’为增强后灰度值,g为增强前灰度值,gmin为图像最小灰度值,gmax为图像最大灰度值。从公式可以看出,增强后的图像灰度值最小值为0,最大值为255。
3.2 代码实验
import cv2
import numpy as np
img=cv2.imread('vessel.png',0)
g_max = img.max()
g_min = img.min()
scale_img = np.zeros((img.shape[0],img.shape[1]),dtype = np.uint8)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
g = int(255*(img[i,j].astype(int)-g_min.astype(int))/(g_max.astype(int)-g_min.astype(int)))
if g <0:
g =0
if g > 255:
g = 255
scale_img[i,j] = g
cv2.imshow('origeimage',img)
cv2.imshow('scale image max',scale_img)
cv2.imwrite('vessel_scale_max.jpg',scale_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
实验结果:
左图为原图,右图为增强后图像。
注:本系列博客为本人讲授《机器人视觉识别技术》教案整理,使用教程为:《机器视觉算法与应用》,作者:[德]Carten Steger等,清华大学出版社,2019年第2版,ISBN 978-7-302-51905-8。实验软件如下:
(1)德国MVTec公司软件halcon 20.11.1.0,下载官网:https://www.mvtec.com/cn/products/halcon/free-halcon-trial,每月evaluation licenses下载地址:https://blog.csdn.net/qq_18620653/article/details/120033443。
(2)python环境和核心库:anaconda + pycharm,python:3.8.16,opencv-python:4.7.0.72
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-4 16:25
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社