我在 OpenCV 中绘制了一些矩形并将文本放入其中。我的一般方法是这样的:
# Draw rectangle p1(x,y) p2(x,y) Student name box
cv2.rectangle(frame, (500, 650), (800, 700), (42, 219, 151), cv2.FILLED )
font = cv2.FONT_HERSHEY_DUPLEX
cv2.putText(frame, name, (510, 685), font, 1.0, (255, 255, 255), 1
Run Code Online (Sandbox Code Playgroud)
到目前为止一切正常。唯一的问题是,所有框中的不透明度均为 100%。我的问题是:如何更改不透明度?
最终结果应如下所示:
我正在尝试从 PDF 中提取印地语文本。我尝试了所有从 PDF 中提取的方法,但都没有奏效。有解释为什么它不起作用,但没有这样的答案。因此,我决定将PDF转换为图像,然后用于pytesseract
提取文本。我已经下载了印地语训练的数据,但是这也提供了非常不准确的文本。
这是 PDF 中的实际印地语文本(下载链接):
到目前为止,这是我的代码:
import fitz
filepath = "D:\\BADI KA BANS-Ward No-002.pdf"
doc = fitz.open(filepath)
page = doc.loadPage(3) # number of page
pix = page.getPixmap()
output = "outfile.png"
pix.writePNG(output)
from PIL import Image
import pytesseract
# Include tesseract executable in your path
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
# Create an image object of PIL library
image = Image.open('outfile.png')
# pass image into pytesseract module
# pytesseract is trained in many languages
image_to_text …
Run Code Online (Sandbox Code Playgroud) 我缺少让tf.test.is_gpu_available()返回True的东西吗?是否有某种需要更新的配置文件?
我正在使用Python 3.7。{1,2}
后:pip install --user tensorflow-gpu==2.0.0-alpha0
(前:pip install --user tensorflow==2.0.0-alpha0
)
部分点子清单:
tabulate 0.8.3
tb-nightly 1.14.0a20190301
tensorboard 1.13.1
tensorflow-datasets 1.0.1
tensorflow-estimator 1.13.0
tensorflow-gpu 2.0.0a0
tensorflow-metadata 0.13.0
termcolor 1.1.0
terminado 0.8.1
terminaltables 3.1.0
testpath 0.4.2
tf-estimator-nightly 1.14.0.dev2019030115
tqdm 4.31.1
traitlets 4.3.2
urllib3 1.24.1
virtualenv 16.0.0
Run Code Online (Sandbox Code Playgroud)
执行: import tensorflow as tf
返回:找不到带有堆栈回溯的DLL模型:
C:\Users\steph\PycharmProjects\Image1\TF2>python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow …
Run Code Online (Sandbox Code Playgroud) 我有一个大脑的二进制图像。我只想将斑点留在中心,并消除这种圆形外观中的周围“噪音”。
这是一个示例图像:
我尝试使用 OpenCV 并获取计数,但失败了。我也根本不需要边界矩形框,我只想保留图像中的中心斑点,就像我提供的图像中那样,并去除周围的噪声/圆圈。这可能吗?
我想找到静态视频流的像素。通过这种方式,我可以检测视频流中的徽标和其他不动的项目。我的脚本背后的想法如下:
previous
np.std
x-
和y-coordinates
。我的脚本:
import math
import cv2
import numpy as np
video = cv2.VideoCapture(0)
previous = []
n_of_frames = 200
while True:
ret, frame = video.read()
if ret:
cropped_img = frame[0:150, 0:500]
gray = cv2.cvtColor(cropped_img, cv2.COLOR_BGR2GRAY)
if len(previous) == n_of_frames:
stdev_gray = np.std(previous, axis=2)
previous = previous[1:]
previous.append(gray)
else:
previous.append(gray)
cv2.imshow('frame', frame)
key = cv2.waitKey(1)
if key == ord('q'):
break
video.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
这个过程非常缓慢,我很好奇是否有更快的方法来做到这一点。我对 Cython 等持开放态度。非常感谢!
这是我在 Stack Overflow 上的第一篇文章,如果问题没有得到足够的定义,我很抱歉。
我目前正在研究从图像中提取表格数据,我需要一种仅在垂直方向上扩展文本的方法,以便我可以获得清晰的列表示,用于进一步分割。
删除水平线和垂直线并按位转换图像后,我处于以下阶段:
这个问题的理想目标是:
有没有一种方法或算法对我的情况有帮助?
这是默认的cv2.imshow()
窗口图标:
我正在完成一个基本项目,但想通过更改显示的窗口图标使其看起来更干净。我知道可以使用 Tkinter windows 来完成此操作,但我想看看是否有更直接的方法可以仅使用 OpenCV 库来完成此操作。
当我处理一堆图像时,其中一个图像出现此错误
File "/home/tensorflowpython/firstmodel/yololoss.py", line 153, in data_generator
image, box = get_random_data(annotation_lines[i], input_shape, random=True)
File "/home/tensorflowpython/firstmodel/yololoss.py", line 226, in get_random_data
image = image.resize((nw,nh), Image.BICUBIC)
File "/home/tensorflowpython/kenv/lib/python3.6/site-packages/PIL/Image.py", line 1858, in resize
self.load()
File "/home/tensorflowpython/kenv/lib/python3.6/site-packages/PIL/ImageFile.py", line 247, in load
"(%d bytes not processed)" % len(b)
OSError: image file is truncated (25 bytes not processed)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这里建议的解决方案,但它不起作用
我的代码看起来像这样
from PIL import Image
def get_random_data(annotation_line, input_shape, random=True, max_boxes=20, jitter=.3, hue=.1, sat=1.5, val=1.5, proc_img=True):
Image.LOAD_TRUNCATED_IMAGES = True
line = annotation_line.split()
image = Image.open(line[0])
iw, ih …
Run Code Online (Sandbox Code Playgroud) 我有一个 uint16 类型的灰度图像数据集,我想将其保存为视频文件,输出应该是 uint16 类型的无损视频文件,我尝试了这段代码,
video = cv2.VideoWriter(file_name, 0, fps, (w, h), isColor=False)
for frame in frames:
video.write(frame)
video.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
但opencv只支持uint8,有人知道有什么好方法吗?