#6 oxidián
Já jsem ten kód jen narychlo proletěl a moc jsem to nezkoumal. Chytil jsem se tohodle:
def do_job(self, event):
fig, ax = plt.subplots()
ax.imshow(self.large_image[self.selected_area[1]:, self.selected_area[0]:])
def pick_color(self, event):
x, y = int(event.xdata), int(event.ydata)
pixel_color = cv2.cvtColor(self.large_image[y:y+1, x:x+1], cv2.COLOR_BGR2RGB)[0,0]
A v tom se mi zdá, že by bylo ptřeba ty souřadnice přepočítat, nebo si uložit ten výřez:
def do_job(self, event):
fig, ax = plt.subplots()
self.zoomed_image = self.large_image[self.selected_area[1]:, self.selected_area[0]:]
ax.imshow(self.zoomed_image)
def pick_color(self, event):
x, y = int(event.xdata), int(event.ydata)
pixel_color = cv2.cvtColor(self.zoomed_image[y:y+1, x:x+1], cv2.COLOR_BGR2RGB)[0,0]
Ale teď koukám, že se to nikde nevolá a je to jen nějaký pozůstatek nabo halucinace ChatGPT.
Když používáš interní zoom toho matplotu, tak nemusíš řešit jestli je to zazoomované a přepočítavat souřadnice. Xdata a Ydata při tom kliknutí budou absolutní souřadnice.