Я пытаюсь использовать этот класс OpenCV текстового детектора, чтобы выяснить, могу ли я использовать его для своего проекта. Я загружаю изображение следующим образом:
src = cv2.imread(img_path)
И затем я пытаюсь использовать функцию, упомянутую ранее, вот так:
bbox, confidence = cv2.text_TextDetectorCNN.detect(src)
Но этот код падает со следующей ошибкой:
TypeError: descriptor 'detect' for 'cv2.text_TextDetectorCNN' objects doesn't apply to a 'numpy.ndarray' object
Я уже пытался использовать image = cv2.cvtColor(src, cv2.COLOR_BGR2RGB, cv2.CV_8UC3)
, но он ничего не делает - image
остается ndarray.
UPD: прикрепление всего кода и проблемной c картинки.
import os
# borrowed from https://github.com/lengstrom/fast-style-transfer/blob/master/src/utils.py
def list_images(in_path, formats=[".jpg", ".jpeg", ".gif", ".png", ".pgm", ".bmp"]):
img_files = []
for (dirpath, _, filenames) in os.walk(in_path):
for file in filenames:
_, ext = os.path.splitext(file)
ext = str.lower(ext)
if ext in formats:
img_files.append(os.path.join(dirpath, file))
return img_files
def test_accuracy(folder_path):
image_list = list_images(folder_path)
for img_path in image_list:
src = cv2.imread(img_path)
bbox, confidence = cv2.text_TextDetectorCNN.detect(src)
print(img_path, bbox, confidence) # To check format of output
Протестированное изображение: (я тестировал 3 разных .jpg
изображения, ни одно из них не работало)
Вопрос: есть ли способ преобразовать ndarray в какой-нибудь формат OpenCV, который будет принят упомянутой функцией?