Я пытаюсь использовать Python вместе с opencv, numpy и matplotlib для создания некоторого компьютерного зрения для робота, который будет использовать перила для навигации.Я в настоящее время чрезвычайно застрял, закончились места, чтобы посмотреть.Мой текущий код:
import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread('railings.jpg')
railing_image = np.copy(image)
resized_image = cv2.resize(railing_image,(881,565))
gray = cv2.cvtColor(resized_image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (5, 5), 0)
canny = cv2.Canny(blur, 85, 255)
cv2.imshow('test',canny)
image_array = np.array(canny)
ncols, nrows = image_array.shape
count = 0
scan = np.array
for x in range(0,image_array.shape[1]):
for y in range(0,image_array.shape[0]):
if image_array[y, x] == 0:
count += 1
scan = [scan, count]
print(scan)
plt.plot([0, count])
plt.axis([0, nrows, 0, ncols])
plt.show()
cv2.waitKey(0)
Я использую хитрое изображение, которое хранится в массиве из 1 и 0, изображение, которое мне нужно представить, это
![Source image](https://i.stack.imgur.com/1jOgR.jpg)
Окончательный результат должен выглядеть примерно так, как показано на следующем рисунке.
![terrible_drawing_of_image](https://i.stack.imgur.com/DPBkt.jpg)
Я пытался использовать функцию гистограммы, но мне удалось только получить ее, чтобы вывести, по существу, количество раз, которое 1или появляется 0.
Если бы кто-нибудь мог мне помочь или указать мне в правильном направлении, то получился бы график, представляющий пиксели изображения на графике измерений высоты и ширины.
Спасибо