Что вызывает полосу в этом изображении, сделанном с opencv-py - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь сделать что-то вроде длины волны с помощью opencv.По большей части, я понял это правильно, за исключением некоторых проблем с плавностью, которые создают полосы в изображении

Вот код

#make ChroMAX torus
#diametre of torus
dia = 1000
#size of steps to circle torus
degstepsize = 360 / dia * pi
#number of steps
degstepno = int(360 / degstepsize)
#a third of degstepno
third = int(degstepno / 3)
#number of steps for 255 in a third
colstep = 255 / third

#making base colour ring
baseCol = []
#blue to green sector
for i in range(third):
    baseCol.append((int(colstep * (third - i)),int(colstep * i),0))

#green to red
for i in range(third):
    baseCol.append((0,int(colstep * (third - i)),int(colstep * i)))

#red to blue
for i in range(third):
    baseCol.append((int(colstep * i),0,int(colstep * (third - i))))

baseCol = tuple(baseCol)

torus = np.ones((degstepno,100,3), np.uint8) * 30

for i in range(len(torus)):
    for y in range(100):
        torus[i,y] = baseCol[i]

gui.add(cv2imgload(torus),'Torus')
gui.update()

А вот изображение:

Image with banding

В конце концов, изображение будет обернуто в пончик.Причина, по которой я разделил тор по периметру вместо 360 градусов, заключалась в том, что я мог обеспечить заполнение каждого пикселя, поскольку тор будет вытянут из его центра (я не уверен, что вы поймете)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...