小编Han*_*rse的帖子

如何更改框的不透明度(cv2.rectangle)?

我在 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%。我的问题是:如何更改不透明度?

最终结果应如下所示:

期望的结果

python opencv

13
推荐指数
3
解决办法
1万
查看次数

如何改进印地语文本提取?

我正在尝试从 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)

python pdf-extraction python-tesseract

9
推荐指数
2
解决办法
459
查看次数

Tensorflow命令tf.test.is_gpu_available()返回False


我缺少让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)

python-3.x tensorflow

6
推荐指数
1
解决办法
1783
查看次数

如何只留下图像中最大的斑点?

我有一个大脑的二进制图像。我只想将斑点留在中心,并消除这种圆形外观中的周围“噪音”。

这是一个示例图像:

脑先生

我尝试使用 OpenCV 并获取计数,但失败了。我也根本不需要边界矩形框,我只想保留图像中的中心斑点,就像我提供的图像中那样,并去除周围的噪声/圆圈。这可能吗?

python opencv image-segmentation

6
推荐指数
1
解决办法
1781
查看次数

检测连续图像的非/最小变化像素的最快方法

我想找到静态视频流的像素。通过这种方式,我可以检测视频流中的徽标和其他不动的项目。我的脚本背后的想法如下:

  • 在名为的列表中收集许多大小相等和灰度大小的帧 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 等持开放态度。非常感谢!

python opencv numpy

6
推荐指数
1
解决办法
934
查看次数

仅在一个方向上使用膨胀?

这是我在 Stack Overflow 上的第一篇文章,如果问题没有得到足够的定义,我很抱歉。

我目前正在研究从图像中提取表格数据,我需要一种仅在垂直方向上扩展文本的方法,以便我可以获得清晰的列表示,用于进一步分割。

删除水平线和垂直线并按位转换图像后,我处于以下阶段:

膨胀和线提取后的当前状态

这个问题的理想目标是:

目标

有没有一种方法或算法对我的情况有帮助?

python opencv computer-vision image-morphology dilation

6
推荐指数
1
解决办法
5947
查看次数

有什么方法可以更改 imshow() 窗口的图标吗?

这是默认的cv2.imshow()窗口图标:

默认 cv2.imshow() 窗口图标

我正在完成一个基本项目,但想通过更改显示的窗口图标使其看起来更干净。我知道可以使用 Tkinter windows 来完成此操作,但我想看看是否有更直接的方法可以仅使用 OpenCV 库来完成此操作。

python opencv

6
推荐指数
1
解决办法
2798
查看次数

OSError:图像文件被截断

当我处理一堆图像时,其中一个图像出现此错误

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)

python python-imaging-library

6
推荐指数
1
解决办法
1万
查看次数

来自一系列图像的python 16位灰度视频

我有一个 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,有人知道有什么好方法吗?

python opencv image-processing python-3.x

6
推荐指数
1
解决办法
2259
查看次数

OpenCV 选择灰度颜色范围

阅读这些教程(this & this)后,我可以弄清楚如何使用图像或垫子的色调值提取任何颜色范围,包括RedGreenBlueYellow。但是,此值无法描述我需要选择的灰色。那么有没有办法使用 提取图像的灰色像素?HSVOpenCVOpenCV

java opencv

5
推荐指数
1
解决办法
4165
查看次数