겨울이되었고, 계절이 추워지기 시작했습니다 (이상한 화려한 머리 장식용 천이 곧 나타나기 시작했습니다). 테마에 맞게 아바타 사진과 다른 이미지를 고정시키는 코드를 작성해 봅시다!
입력
이 챌린지에 대한 제출에 대한 입력은 이미지 (고정 될 이미지)와 숫자 (임계 값, 나중에 설명) 여야합니다.
언어가 지원하는 방식 (파일 경로 또는 URL을 인수로 사용, 클립 보드에서 가져 오기, 이미지 끌어서 놓기 등)과 RGB로 색상을 표현하는 여기 에 나열된 형식으로 이미지를 입력 할 수 있습니다. 원하는 경우 RGBA를 지원 / 요구 할 수 있지만 필수는 아닙니다).
프로그램에 하드 코딩하는 것 (예 :)을 제외하고 원하는 방식으로 번호를 입력 할 수 있습니다 (명령 줄 인수, STDIN, 입력 대화 상자 등 n=10
). 이미지에 파일 경로 / URL을 사용하는 경우이 방법으로도 입력해야합니다.
산출
프로그램은 아래 설명에 따라 이미지를 처리 한 다음 원하는 방식으로 (파일로, 화면에 표시하거나, 클립 보드에 넣는 등) 이미지를 출력해야합니다.
기술
제출은 다음 세 단계로 이미지를 처리해야합니다. n
이미지와 함께 입력으로 프로그램에서받은 번호를 나타냅니다.
n
각 픽셀의 R, G 및 B 값을 맨해튼 거리 의n
픽셀 내에있는 모든 픽셀의 평균 R, G 및 B 값으로 바꾸고 범위를 벗어난 모든 좌표를 무시 하여 입력 이미지에 반경 흐림을 적용합니다 . (즉, X의 차이와 Y의 차이의 합이보다 작거나 같은 모든 픽셀n
.)(참고 : 편리한 내장 기능이있어 위의 이미지에 가우시안 블러를 사용했기 때문에 이미지가 약간 다르게 보일 수 있습니다.)
픽셀 거리 내에서 각 픽셀을 임의의 픽셀로 설정합니다
n/2
( "거리"는 이전 단계와 동일한 방식으로 정의 됨).이미지를 반복하고이 범위에서 각 픽셀을 임의의 픽셀로 설정하면 일부 픽셀이 완전히 사라지고 일부는 복제 될 수 있습니다.
모든 변경 사항이 동시에 적용되어야합니다. 즉, 픽셀의 이전 값 (1 단계 후,이 단계 이전)을 임의의 픽셀로 설정 한 후 새 값을 사용하십시오.
각 픽셀의 "파란색"RGB 값에 1.5를 곱하여 255 (또는 픽셀 대역의 최대 값이 무엇이든)에 내림하고 내림합니다.
규칙
언어에 내장 된 이미지 라이브러리 / 이미지 처리 관련 기능을 사용할 수 있습니다. 그러나 설명에 언급 된 세 가지 주요 작업 중 하나를 수행하는 기능은 사용할 수 없습니다. 예를 들어,
blur
함수를 사용할 수 없지만getPixel
함수는 정상입니다.이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다!
dx <= n && dy <= n
맨해튼 거리의 정확한 표현입니까?