当前位置:   article > 正文

opencv-python实现图片背景去除、阴影去除使图像清晰_图像去除阴影pycharm

图像去除阴影pycharm

作者:RayChiu_Labloy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处


功能背景:手机拍照文字信息,出现黑色背景影响观看

去除背景实验图片:

 去除背景代码:

  1. #!/usr/bin/python3.7
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2021/8/17 12:06
  4. # @Author : raychiu
  5. # @Email : raychiu0202@163.com
  6. # @File : 去背景.py
  7. # @Software: PyCharm
  8. import cv2 as cv
  9. image = cv.imread("1.jpg",cv.IMREAD_GRAYSCALE)
  10. binary = cv.adaptiveThreshold(image,255,
  11. cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY_INV,25,15)
  12. se = cv.getStructuringElement(cv.MORPH_RECT,(1,1))
  13. se = cv.morphologyEx(se, cv.MORPH_CLOSE, (2,2))
  14. mask = cv.dilate(binary,se)
  15. # cv.imshow("image",image)
  16. # mask = cv.inRange(hsv, lower_green, upper_green)
  17. mask_inv = cv.bitwise_not(mask)
  18. bg = cv.bitwise_and(image, mask)
  19. fg = cv.bitwise_and(image, mask_inv)
  20. cv.imshow('bg', bg)
  21. cv.imshow('fg', fg)
  22. result = cv.add(bg,mask_inv)
  23. cv.imshow("reslut",result)
  24. # mask1 = cv.bitwise_not(mask)
  25. # binary =cv.bitwise_and(image,mask)
  26. # result = cv.add(binary,mask1)
  27. # cv.imshow("reslut",result)
  28. # cv.imwrite("reslut00.jpg",result)
  29. cv.waitKey(0)
  30. cv.destroyAllWindows()

效果:

需求二:去除文字照片上的阴影:

实验图片

 实验代码:

  1. import cv2
  2. import numpy as np
  3. img = cv2.imread('1.jpg', 0)
  4. # 计算灰白色部分像素的均值
  5. pixel = int(np.mean(img[img > 140]))
  6. # 把灰白色部分修改为与背景接近的颜色
  7. img[img > 90] = pixel
  8. cv2.imwrite('res.jpg', img)

实现效果

【如果对您有帮助,交个朋友给个一键三连吧,您的肯定是我博客高质量维护的动力!!!】

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号