Ошибка с net.forward () в детекторе текста OpenCV EAST в pycharm - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь использовать детектор текста EAST в pycharm, но в строке есть ошибка. (scores, geometry) = net.forward(layerNames)

cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\dnn\src\layers\concat_layer.cpp:95: error: (-201:Incorrect size of input array) Inconsistent shape for ConcatLayer in function 'cv::dnn::ConcatLayerImpl::getMemoryShapes'

КОД:

print("[INFO] loading EAST text detector...")
name = 'Pictures/non crop/maths soln analysis 4_89.jpg'
image = cv2.imread(name, 1)
(H, W) = image.shape[:2]

установить новые ширину и высоту, а затем определить соотношение при изменении для ширины и высоты

(newW, newH) = (375, 500)
rW = W / float(newW)
rH = H / float(newH)
# resize the image and grab the new image dimensions
image = cv2.resize(image, (newW, newH))
orig = image.copy()
(H, W) = image.shape[:2]
net = cv2.dnn.readNet("frozen_east_text_detection.pb")
layerNames = [
"feature_fusion/Conv_7/Sigmoid",
"feature_fusion/concat_3"]

создайте блоб из изображения и затем выполните прямой проход модель для получения двух выходных наборов слоев

blob = cv2.dnn.blobFromImage(image, 1.0, (W, H),
(123.68, 116.78, 103.94), swapRB=True, crop=False)
start = time.time()
net.setInput(blob)

ОШИБКА в этой строке

(scores, geometry) = net.forward(layerNames)

1 Ответ

2 голосов
/ 03 мая 2019

Вы не изменяете размеры, кратные 32 .

Важно: Для текста EAST необходимо, чтобы размеры входного изображения были кратны 32, поэтому, если вы решите настроитьваши значения --width и --height, убедитесь, что они кратны 32!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...