PyQtGraph ROI RemoveHandle не удаляет круговой дескриптор для эллиптической ROIPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 PyQtGraph ROI RemoveHandle не удаляет круговой дескриптор для эллиптической ROI

Сообщение Anonymous »

Моя цель – запрограммировать рентабельность инвестиций в виде эллипса, который нельзя вращать. Рассмотрим следующий фрагмент кода, модифицированный на основе одного из примеров PyQtGraph:

Код: Выделить всё

import numpy as np
import cv2
import pyqtgraph as pg
from PyQt5 import QtGui
import numpy.ma as ma
from PyQt5.QtWidgets import QMessageBox

pg.setConfigOptions(imageAxisOrder='row-major')

## Create image to display
image = cv2.imread('panda.jpg')

def picturetranspose(picture):
shape = picture.shape
result = np.empty((shape[1],shape[0],shape[2]),dtype= np.uint8)
for i in range(0,3):
result[:,:,i] = np.transpose(picture[:,:,i])
return result

arr = np.rot90(picturetranspose(image))
app = pg.mkQApp("ROI Examples")
w = pg.GraphicsLayoutWidget(show=True, size=(1000,800), border=True)
w.setWindowTitle('pyqtgraph example: ROI Examples')
w1 = w.addLayout(row=0, col=0)
v1a = w1.addViewBox(row=1, col=0, lockAspect = True)
v1a.setLimits(minXRange = arr.shape[0]//10, minYRange = arr.shape[1]//10, maxXRange = 5*arr.shape[0], maxYRange = 5*arr.shape[1])
img1a = pg.ImageItem(arr)
v1a.addItem(img1a)

rois = []
x=pg.EllipseROI([60, 10], [30, 20], pen=pg.mkPen('b', width=5),rotatable = False)
x.removeHandle(0)
rois.append(x)

for roi in rois:
roi.sigRegionChanged.connect(img1a.setImage(arr))
v1a.addItem(roi)

img1a.setImage(arr)
Здесь изображение «panda.jpg» предоставлено: https://drive.google.com/drive/folders/ ... sp=sharing. Запуск кода и перемещение рентабельности инвестиций даст:
Изображение

Нажав на квадратный голубой маркер, можно изменить размер рентабельности инвестиций. Поскольку я установил Rotatable = False, ROI нельзя повернуть, и нажатие на круглый маркер не приведет к повороту ROI .
Однако строка x.removeHandle(0)< /code> следует удалить голубой круглый маркер, чтобы он вообще не отображался на экране. Это ошибка? Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/724 ... -ellipse-r
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»