Как применить карту Бейкера к изображению с питоном? - PullRequest
0 голосов
/ 26 мая 2019

Я работаю по алгоритму шифрования. Мне нужно реализовать Baker Map на первом этапе. Но я не нахожу ничего об алгоритме Карты Бейкера. Просто есть этот код Matlab. ( 2D карта Бейкера для пиксельного тасования кода Matlab изображения )

Статья, над которой я работаю: Статья

Я рассмотрел приведенный выше код Matlab и в результате некоторых исследований сделал следующее:

#lenna image: 512x512

def main():
    (Image.open('Lenna.png').convert('LA')).save("LennaGray.png")
    image = Image.open("LennaGray.png")

    row, col=image.size

    for i in range(row):
        for j in range(col):
            if 1<=j and j<row/2:
                newcord1=((2*(j-1))+((i-1)%2))
                newcord2=math.floor(0.5*(i-mod(i-1,2))+1)
                im(i,j)=im(newcord2,newcord1)
            elif row/2<=j and j<=row:
                newcord1=((2*(j-64))+(i%2))
                newcord2=math.floor(0.5*(i-(i%2))+63)
                im(i,j)=im(newcord2,newcord1)

    print(list(image.getdata()))
    del image
if (__name__=="__main__"):
    main()

Получить значения пикселей:

list(image.getdata())

Здесь: создать изображение из списка значений пикселей . Это то, что я могу сделать.

Итак. Я хочу смешать изображение с картой Бейкера.

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