Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python从错误的照明图像中分割文本_Python_Opencv_Image Processing_Image Segmentation_Text Segmentation - Fatal编程技术网

使用python从错误的照明图像中分割文本

使用python从错误的照明图像中分割文本,python,opencv,image-processing,image-segmentation,text-segmentation,Python,Opencv,Image Processing,Image Segmentation,Text Segmentation,我有三种类型的图像,想从中分割文本。因此,我得到了一个干净的二值化img,如下面的第一幅图像。下面是三种类型的图像 我尝试过各种技巧,但总是有失败的案例。我首先尝试使用大津算法对img进行阈值设置,但在下面的图像中效果不佳 我尝试了Guassian,双边和普通模糊内核,但没有太多地增强效果 任何人都可以提供帮助 代码是我从中获得的最佳结果 import cv2 gray = cv2.imread("/home/shrouk/Pictures/f2.png", 0) thresholded =

我有三种类型的图像,想从中分割文本。因此,我得到了一个干净的二值化img,如下面的第一幅图像。下面是三种类型的图像

我尝试过各种技巧,但总是有失败的案例。我首先尝试使用大津算法对img进行阈值设置,但在下面的图像中效果不佳

我尝试了
Guassian
双边
和普通模糊内核,但没有太多地增强效果

任何人都可以提供帮助

代码是我从中获得的最佳结果

import cv2

gray = cv2.imread("/home/shrouk/Pictures/f2.png", 0)
thresholded = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
cv2.imshow("img", thresholded)

这是我需要的最终结果

这是第一类失败的图像。它失败了,因为文本的灰度在图像的右边变浅了

大津大学的结果就在这里,我只需要一个方法来增强右起第三行中的单词:

第二种类型失败,因为背景较暗

otsu的结果不是很好,因为左边的单词看起来像放大的单词

这是由大津正确设定阈值的类型,因为没有噪音

尝试使用

import cv2

image = cv2.imread("2.png", 0)
adaptive = cv2.adaptiveThreshold(image,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,11,5)
cv2.imshow("adaptive", adaptive)
cv2.waitKey()