Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2019 06:06:28

Rocto
Зарегистрирован: 2019-07-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Обнаружение рамок объекта по массиву

Проблема в следующем:
У нас выводится изображение с камеры Basler и нам необходимо определить объект на изображение. Мы достигаем этого с помощью ограничивающих значений массива (картинка прикреплена ниже). Необходимо построить рамку вокруг определённого объекта, а для этого нужно узнать координаты границ объекта. OpenCv пробовали, он не работает с нашим изображением( не та кодировка).
Ниже представлен код:
from pypylon import pylon
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import numpy as np
img = pylon.PylonImage()
tlf = pylon.TlFactory.GetInstance()

cam = pylon.InstantCamera(tlf.CreateFirstDevice())
cam.Open()
numberOfImagesToGrab = 1
cam.StartGrabbing(numberOfImagesToGrab)
for i in range(numberOfImagesToGrab):
grabResult = cam.RetrieveResult(100, pylon.TimeoutHandling_ThrowException)
i1=i+1
img.AttachGrabResultBuffer(grabResult)
if grabResult.GrabSucceeded():
# Access the image data.
print(“SizeX: ”, grabResult.Width)
print(“SizeY: ”, grabResult.Height)
img1 = grabResult.Array
print(“Gray value of first pixel: ”, img1)
ipo = pylon.ImagePersistenceOptions()
quality = 100
ipo.SetQuality(quality)
B=img1<72
im = np.array(B, dtype=np.uint8)
fig,ax = plt.subplots(1)
# Display the image
ax.imshow(im)
# Create a Rectangle patch
rect = patches.Rectangle((1450,750),400,300,linewidth=1,edgecolor='r',facecolor='none')
# Add the patch to the Axes
ax.add_patch(rect)
plt.show()
img.Release()

Прикреплённый файлы:
attachment рамка и объект.png (6,6 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version