halcon实现毛丝划伤计算出长、宽、面积、圆度、灰度特征代码。
以下是使用Halcon实现毛丝/划伤计算出长、宽、面积、圆度、灰度特征的示例代码:
import hvysion as hv
hv.use_halcon()
# 读取图像
image = hv.read_image('image.jpg')
# 灰度化处理
gray_image = hv.rgb_to_gray(image)
# 滤波处理
filtered_image = hv.median_filter(gray_image, 5)
# 二值化处理
threshold = hv.threshold(filtered_image, 'otsu')
# 连通域分析
labeled_image = hv.label(threshold)
region_info = hv.region_info(labeled_image)
# 计算长、宽、面积、圆度
length = []
width = []
area = []
circularity = []
for i, region in enumerate(region_info):
length.append(hv.region_features(region, 'major'))
width.append(hv.region_features(region, 'minor'))
area.append(hv.region_features(region, 'area'))
circularity.append(hv.region_features(region, 'circularity'))
# 计算灰度特征
mean_gray = []
std_dev_gray = []
for region in region_info:
mean_gray.append(hv.mean_gray(region))
std_dev_gray.append(hv.std_dev_gray(region))
# 输出结果
for i in range(len(region_info)):
print(f"Region {i+1}:")
print(f"Length: {length[i]}")
print(f"Width: {width[i]}")
print(f"Area: {area[i]}")
print(f"Circularity: {circularity[i]}")
print(f"Mean Gray: {mean_gray[i]}")
print(f"Std Dev Gray: {std_dev_gray[i]}")
print()
请注意,以上代码是使用hvysion库,它是一个基于Halcon的Python图像处理库。在运行代码之前,需要先安装hvysion库,并将图像替换为您要处理的实际图像路径。此外,您还可以根据需要调整滤波、二值化等参数
原文地址: http://www.cveoy.top/t/topic/i0TS 著作权归作者所有。请勿转载和采集!