尝试提高图像亮度时遇到问题.
这是原始图像:
我想要的图像是这样的:
现在使用以下代码增加亮度:
image = cv2.imread("/home/wni/vbshare/tmp/a4_index2.png",0)
if sum(image[0])/len(image[0])<200:
new = np.where((255-image)<image,255,image*2)
else:
new = image
return new
Run Code Online (Sandbox Code Playgroud)
而且,我得到了以下图像:
所以,似乎某些点的亮度溢出.
我试图将阈值从200更改为其他数字,例如125,100,140等.但是,图像亮度几乎保持相同的暗或溢出.
ENV:
Python:2.7.10
Opencv:3.2.0
对此有任何建议表示赞赏.
谢谢.
我将使用 Python 中的 OpenCV 和 OCR by 来从图片中提取文本pytesseract。我有这样的图像:
然后我编写了一些代码来从该图片中提取文本,但它没有足够的精度来正确提取文本。
这是我的代码:
import cv2
import pytesseract
img = cv2.imread('photo.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_,img = cv2.threshold(img,110,255,cv2.THRESH_BINARY)
custom_config = r'--oem 3 --psm 6'
text = pytesseract.image_to_string(img, config=custom_config)
print(text)
cv2.imshow('pic', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
我已经测试过cv2.adaptiveThreshold,但它不起作用cv2.threshold。
最后,这是我的结果,与图片中的结果不同:
Color Yellow RBC/hpf 4-6
Appereance Semi Turbid WBC/hpf 2-3
Specific Gravity 1014 Epithelial cells/Lpf 1-2
PH 7 Bacteria (Few)
Protein Pos(+) Casts Negative
Glucose Negative Mucous (Few)
Keton Negative
Blood Pos(+)
Bilirubin Negative …Run Code Online (Sandbox Code Playgroud) 我正在尝试从车牌中获取字符。但很少有错误的预测,比如
我得到的输出为UP74 BD 3465,这是错误的。有许多B预测的例子8以及更多。
import matplotlib.pyplot as plt
import easyocr
from pylab import rcParams
from IPython.display import Image
rcParams['figure.figsize'] = 8, 16
reader = easyocr.Reader(['en'])
output = reader.readtext(path)
for i in range(len(output)):
print(output[i][-2])
Run Code Online (Sandbox Code Playgroud)