내 방의 벽에 페인트는 거의 프랙탈 같은 3 차원 텍스처가 있습니다.
이 도전에서 당신은 내 벽의 일부가 될 수있는 것처럼 보이는 임의의 이미지를 생성하는 프로그램을 작성합니다.
아래는 내 벽에 다른 반점의 10 개의 이미지를 수집했습니다. 모두 거의 같은 조명을 가지고 있으며 벽에서 1 피트 떨어진 곳에서 카메라로 찍은 것입니다. 테두리는 2048 x 2048 픽셀로 고르게 잘린 다음 512 x 512로 조정되었습니다. 위의 이미지는 이미지 A입니다.
이들은 축소판 일뿐입니다. 이미지를 클릭하면 전체 크기로 볼 수 있습니다!
당신의 임무는 임의의 시드로 1에서 2 16 사이의 양의 정수를 취하는 프로그램을 작성하는 것 입니다. 각 값마다 내 벽의 "11 번째 이미지"인 것처럼 보이는 독특한 이미지를 생성합니다. 내 10 개 이미지와 일부 이미지를보고있는 사람이 컴퓨터로 생성 된 컴퓨터를 알 수없는 경우 매우 잘 수행 한 것입니다!
시청자가 코드를 실행하지 않고도 이미지를 볼 수 있도록 생성 된 이미지 중 일부를 과시하십시오.
이미지의 조명이 강도 나 색상이 완전히 균일하지 않다는 것을 알고 있습니다. 미안하지만 더 나은 조명 장비없이 할 수있는 최선입니다. 이미지에는 가변 조명이 필요하지 않습니다 (가능한 경우). 질감이 더 중요합니다.
세부
- 이미지 처리 도구 및 라이브러리를 사용할 수 있습니다.
- 원하는 일반적인 방식 (명령 줄, stdin, 명백한 변수 등)으로 입력을 가져옵니다.
- 출력 이미지는 일반적인 무손실 이미지 파일 형식이거나 창 / 바우 저로 표시 될 수 있습니다.
- 프로그래밍 방식으로 내 10 이미지를 분석 할 수 있지만 코드를 실행하는 모든 사람이 액세스 할 수 있다고 가정하지는 않습니다.
- 프로그래밍 방식으로 이미지를 생성해야합니다. 내 이미지 중 하나 또는 다른 스톡 이미지의 약간의 변형을 하드 코딩 할 수 없습니다. (어쨌든 사람들은 당신을 위해 투표를 할 것입니다.)
- 내장 의사 난수 생성기를 사용할 수 있으며 기간이 2 16 이상 이라고 가정합니다 .
채점
이것은 가장 인기있는 답변이므로이기는 인기 콘테스트입니다.