「Capture The Flag」チャレンジの一環として、添付の jpg がスクランブルされてコンテンツがわかりにくくなっています。画像 ("flagpoles.jpg") は 1600 ピクセル x 1600 ピクセルです。同心円は、幅 10 ピクセルのブロックサイズで表示されます。(フランク・ステラの絵に似ています)。元の画像が 4 つの部分に分割され、中央で対称的に配置されているように見えます。私は、ピクセルを処理し、同心円のスクランブルを解除するための python スクリプトを作成しようとしています。私の努力の結果、2 つの役に立たない状況が繰り返されました。変化がないか、スクランブルが増加しました。これは、画像全体に取り組んでいるためと思われ、その一部を解読してみる方がよいかもしれません。これが私が持っているコードです。現時点では、画像の一部を互いに一致させようとしているため、ピクセルの半分しか処理していません。ブロックを画像の反対側に送信して一致させようとしましたが、改善はありません。鮮明な画像を取得するための支援をいただければ幸いです。
from PIL import Image
import math
im = Image.open("flagpoles.jpg", "r")
pic = im.load()
def rot(A, r, x1, y1):
myArray = []
for i in range(r):
myArray.append([])
for j in range(r):
myArray[i].append(pic[x1+i, y1+j])
for i in range(r):
for j in range(r):
pic[x1+i,y1+j] = myArray[r-1-i][r-1-j]
xres = 800
yres = 800
blocksize = 10
for i in range(blocksize, blocksize+1):
for j in range(int(math.floor(float(xres)/float(blocksize+2+i)))):
for k in range(int(math.floor(float(yres)/float(blocksize+2+i)))):
rot(pic, blocksize+2+i, j*(blocksize+2+i), k*(blocksize+2+i))
im.save("hopeful.png")
print("Finished!")