当前位置:   article > 正文

c++平均值法灰度化图像_使用OpenCV实现图像增强

平均值灰度化c++程序

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达9f03d4741dcf2f9da99ffe796a735485.png

7c8d6ea72a855ddab2706a111b4479ca.png

本期将介绍如何通过图像处理从低分辨率/模糊/低对比度的图像中提取有用信息。

下面让我们一起来探究这个过程:

首先我们获取了一个LPG气瓶图像,该图像取自在传送带上运行的仓库。我们的目标是找出LPG气瓶的批号,以便更新已检测的LPG气瓶数量。

步骤1:导入必要的库

import cv2import numpy as npimport matplotlib.pyplot as plt

步骤2:加载图像并显示示例图像。

img= cv2.imread('cylinder1.png')img1=cv2.imread('cylinder.png')images=np.concatenate(img(img,img1),axis=1)cv2.imshow("Images",images)cv2.waitKey(0)cv2.destroyAllWindows()

54224e0bdc13b3dd03051e54e1f2adb3.pngLPG气瓶图片(a)批次-D26(b)批次C27

该图像的对比度非常差。我们几乎看不到批号。这是在灯光条件不足的仓库中的常见问题。接下来我们将讨论对比度受限的自适应直方图均衡化,并尝试对数据集使用不同的算法进行实验。

步骤3:将图像转换为灰度图像

gray_img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)gray_img1=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)

步骤4:找到灰度图像的直方图后,寻找强度的分布。

hist=cv2.calcHist(gray_img,[0],None,[256],[0,256])hist1=cv2.calcHist(gray_img1,[0],None,[256],[0,256])plt.subplot(121)plt.title("Image1")plt.xlabel('bins')plt.ylabel("No of pixels")plt.plot(hist)plt.subplot(122)plt.title("Image2")plt.xlabel('bins')plt.ylabel("No of pixels"
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/287653
推荐阅读
相关标签
  

闽ICP备14008679号