При использовании PIL нарисуйте прямоугольники на изображении на холсте. Я хочу изменить прямоугольник заливки в зависимости от цвета пикселей моего изображения на холсте.
Я сослался на один из перекрестных сообщений (ссылка вставлена ниже) для создания прямоугольников с событиями мыши в Tkinter.
create_rectangle заполняет прямоугольник цветом, заданным событиями мыши (пример: в этом примере прямоугольник залит черным). Есть ли способ логически изменить цвет заливки в зависимости от существующего цвета пикселей фонового изображения? Я имею в виду, что при рисовании прямоугольника мне нужно, чтобы только белые пиксели фонового изображения стали красными, а остальные - другим цветом.
Рисование прямоугольника с использованием событий мыши в Tkinter
https://i.stack.imgur.com/0K5t1.jpg
def rec_on_button_press(self,event):
self.start_x = event.x
self.start_y = event.y
self.rect=self.image_canvas.create_rectangle(self.x, self.y, 1, 1,fill=self.python_red)
def rec_on_move(self, event):
curX, curY = (event.x, event.y)
imagenp= np.array(image)
if imagenp[curY,curX]==255:
self.python_red="#EE204D"
else:
self.python_red=None
self.image_canvas.coords(self.rect, self.start_x, self.start_y, curX, curY)
def rec_on_button_release(self, event):
pass
create_image
для покрытия изображения вместо использования толькоcreate_rectangle
. - person jizhihaoSAMA   schedule 03.04.2020RGB
, вы должны использоватьimagenp[curY,curX].all([255,255,255])
вместоimagenp[curY,curX]==255
. - person jizhihaoSAMA   schedule 03.04.2020