JES를 사용한 4가지 흥미로운 이미지 처리 기술

JES를 사용한 4가지 흥미로운 이미지 처리 기술

JES는 프로그래밍 영역과 자체 명령줄을 모두 포함하는 프로그래밍 환경입니다. JES를 사용하여 이미지, 비디오 및 사운드를 편집할 수 있습니다.

JES를 사용하여 사진을 편집할 수 있는 다양한 방법이 있습니다. 여기에는 그레이스케일 필터 또는 네거티브 필터 추가가 포함됩니다. 이미지를 미러링하거나 특정 색상을 향상시킬 수도 있습니다.

그레이스케일 이미지를 만드는 방법

사용하기 쉬운 많은 사진 편집 앱을 통해 다양한 방식으로 이미지를 편집할 수 있습니다. 그 중 하나는 그레이스케일 필터를 추가하는 것입니다. JES에서는 각 픽셀의 색상을 흰색, 회색 또는 검은색을 사용하도록 변경하여 그레이스케일 필터를 사용하도록 이미지를 편집할 수 있습니다.

JES는 Python과 매우 유사하고 동일한 들여쓰기 규칙을 따르는 Jython 프로그래밍 언어를 사용합니다. 필요한 경우 초보자를 위한 몇 가지 유용한 Python 명령을 살펴보고 속도를 높일 수 있습니다.

  1. makeGrayscalePicture()라는 새 함수를 만듭니다. def makeGrayscalePicture():
  2. 새 함수 내에서 pickAFile() 함수를 사용하여 사용자에게 이미지를 선택하도록 요청합니다. makePicture() 함수를 사용하여 선택한 파일에서 그림 개체를 만듭니다. file = pickAFile()
    pic = makePicture(file)
  3. getPixels() 함수를 사용하여 선택한 이미지 내부의 모든 픽셀 배열을 가져옵니다. pixels = getPixels(pic)
  4. for 루프를 사용하여 이미지의 각 픽셀을 반복합니다. for pixel in pixels:
  5. for 루프 내에서 픽셀의 RGB 값을 가져옵니다. 색상의 빨강, 녹색 및 파랑 값을 다른 변수에 저장할 수 있습니다. r = getRed(pixel)
    g = getGreen(pixel)
    b = getBlue(pixel)
  6. 각 색상의 평균값을 계산합니다. 빨간색, 녹색, 파란색 값을 더하고 합계를 3으로 나누면 됩니다. average = (r + g + b) / 3
  7. 빨간색, 녹색 및 파란색 값을 모두 같은 값으로 설정합니다. 이것은 픽셀을 회색으로 만듭니다. setRed(pixel, average)
    setGreen(pixel, average)
    setBlue(pixel, average)
  8. for 루프 다음에 그림을 표시합니다. show(pic)
  9. 프로그래밍 영역과 명령줄 사이에 있는 프로그램 로드 버튼 을 클릭합니다 .
  10. 명령줄 영역을 사용하여 함수를 실행합니다. makeGrayscalePicture()
    명령줄에 입력된 그레이스케일 함수
  11. 파일 탐색기를 사용하여 이미지를 선택합니다. 열기 를 클릭합니다 .
    파일 탐색기로 JES 열기
  12. 함수가 이미지 처리를 완료할 때까지 기다리십시오. 새 그레이스케일 이미지를 표시하는 새 창이 열립니다.
    그레이스케일 이미지가 새 창에서 열림

네거티브 이미지를 만드는 방법

네거티브 이미지는 사진의 밝은 부분은 어둡게 나타나고 어두운 부분은 밝게 나타나는 이미지입니다. 각 픽셀의 빨강, 녹색 및 파랑 값을 수정하여 이 효과를 만들 수 있습니다.

  1. makeNegativePicture()라는 새 함수를 만듭니다. def makeNegativePicture():
  2. 새 함수 내에서 pickAFile() 함수를 사용하여 사용자에게 이미지를 선택하도록 요청합니다. makePicture() 함수를 사용하여 선택한 파일에서 그림 개체를 만듭니다. file = pickAFile()
    pic = makePicture(file)
  3. getPixels() 함수를 사용하여 선택한 이미지 내부의 모든 픽셀 배열을 가져옵니다. pixels = getPixels(pic)
  4. for 루프를 사용하여 이미지의 각 픽셀을 반복합니다. for pixel in pixels:
  5. for 루프 내에서 픽셀의 빨간색, 녹색 및 파란색 값을 가져옵니다. r = getRed(pixel)
    g = getGreen(pixel)
    b = getBlue(pixel)
  6. 부정적인 효과를 만들려면 RGB 스펙트럼에서 색상의 반대 값을 얻으십시오. 예를 들어 빨간색 값이 100이면 반대 값은 255 – 100, 즉 155입니다. newRed = 255 - r
    newBlue = 255 - g
    newGreen = 255 - b
  7. 픽셀의 색상을 새 빨강, 녹색 및 파랑 값으로 바꿉니다. setRed(pixel, newRed)
    setBlue(pixel, newBlue)
    setGreen(pixel, newGreen)
  8. for 루프 다음에 그림을 표시합니다. show(pic)
  9. 프로그래밍 영역과 명령줄 사이에 있는 프로그램 로드 버튼 을 클릭합니다 .
  10. 명령줄에서 makeNegativePicture() 함수를 실행합니다. makeNegativePicture()
    명령줄에 입력된 음수 함수
  11. 파일 탐색기를 사용하여 이미지를 선택합니다. 열기 를 클릭합니다 .
    파일 탐색기로 JES 열기
  12. 네거티브 이미지를 표시하는 새 창이 열립니다.
    네거티브 이미지가 새 창에서 열림

이미지의 특정 색상을 향상시키는 방법

JES를 사용하여 이미지의 특정 색상을 향상시킬 수도 있습니다. 예를 들어 각 픽셀의 빨간색 값을 두 배로 늘려 사진을 더 빨간색으로 보이게 할 수 있습니다.

  1. alterReds()라는 새 함수를 만듭니다. def alterReds():
  2. 새 함수 내에서 pickAFile() 함수를 사용하여 사용자에게 이미지를 선택하도록 요청합니다. makePicture() 함수를 사용하여 선택한 파일에서 그림 개체를 만듭니다. file = pickAFile()
    pic = makePicture(file)
  3. getPixels() 함수를 사용하여 선택한 이미지 내부의 모든 픽셀 배열을 가져옵니다. pixels = getPixels(pic)
  4. for 루프를 사용하여 이미지의 각 픽셀을 반복합니다. for pixel in pixels:
  5. for 루프 내에서 픽셀의 빨간색 값만 가져옵니다.r = getRed(pixel)
  6. 빨간색 값을 두 배로 늘리고 새 변수에 저장합니다. enhancedRed = r*2
  7. 픽셀의 빨간색 값을 새롭고 향상된 값으로 바꿉니다. 예를 들어 픽셀의 원래 RGB 값이 rgb(100, 50, 50)인 경우 새 값은 rgb(200, 50, 50)이 됩니다. setRed(pixel, enhancedRed)
  8. for 루프 다음에 이미지를 표시합니다. show(pic)
  9. 프로그래밍 영역과 명령줄 사이에 있는 프로그램 로드 버튼 을 클릭합니다 .
  10. 명령줄 영역을 사용하여 함수를 실행합니다. alterReds()
    명령줄에 작성된 AlterReds 함수
  11. 파일 탐색기를 사용하여 이미지를 선택합니다. 열기 를 클릭합니다 .
    파일 탐색기로 JES 열기
  12. 편집된 이미지를 표시하는 새 창이 열립니다.
    강화된 빨간색 이미지가 새 창에서 열림

이미지를 미러링하는 방법

이미지를 미러링하려면 이미지 왼쪽의 모든 픽셀이 오른쪽의 반대쪽 픽셀과 정확히 일치해야 합니다.

해변 이미지가 미러링되는 예

흰색 배경의 빈 이미지를 새로 만들어서 이 작업을 수행할 수 있습니다. 그런 다음 각 픽셀을 복사하여 새 미러 이미지를 만들 수 있습니다.

  1. mirror()라는 새 함수를 만듭니다. def mirror():
  2. 새 함수 내에서 pickAFile() 함수를 사용하여 사용자에게 이미지를 선택하도록 요청합니다. makePicture() 함수를 사용하여 선택한 파일에서 그림 개체를 만듭니다. file = pickAFile()
    pic = makePicture(file)
  3. 선택한 이미지의 높이와 너비를 가져옵니다. width = getWidth(pic)
    height = getHeight(pic)
  4. makeEmptyPicture() 함수를 사용하여 빈 이미지를 만듭니다. 빈 이미지는 흰색 배경의 그림입니다. 원본 이미지는 왼쪽에, 뒤집힌 이미지는 오른쪽에 맞도록 너비를 두 배로 늘립니다. mirroredPic = makeEmptyPicture(width*2, height)
  5. 원본 이미지의 각 x 및 y 좌표를 반복하는 for 루프를 만듭니다. for 루프 내에서 해당 위치에 저장된 픽셀을 가져옵니다. for x in range(0, width):
        for y in range(0, height):
            originalPix = getPixel(pic, x, y)
  6. 여전히 for 루프 내부에서 동일한 x 및 y 위치에 있는 새 빈 이미지의 픽셀을 가져옵니다. 이것은 미러링된 이미지의 왼쪽이 될 것입니다. leftMirrorPixel = getPixel(mirroredPic, x, y)
  7. 원본 픽셀의 색상을 새 이미지의 왼쪽 픽셀에 복사합니다. setColor(leftMirrorPixel, getColor(originalPix))
  8. 오른쪽에 대해서도 같은 작업을 수행합니다. y 좌표는 동일합니다. x 좌표는 오른쪽에서 올 것이므로 미러링된 새 그림의 전체 너비에서 x 좌표를 뺍니다. rightMirrorPixel = getPixel(mirroredPic, (width*2)-x-1, y)
  9. 원본 픽셀의 색상을 새 이미지의 오른쪽 픽셀에 복사합니다. setColor(rightMirrorPixel, getColor(originalPix))
  10. for 루프 다음에 이미지를 표시합니다. show(mirroredPic)
  11. 프로그래밍 영역과 명령줄 사이에 있는 프로그램 로드 버튼 을 클릭합니다 .
  12. 명령줄에서 mirror() 함수를 실행합니다. mirror()
    명령줄에 작성된 미러 기능
  13. 파일 탐색기를 사용하여 이미지를 선택합니다. 열기 를 클릭합니다 .
    파일 탐색기로 JES 열기
  14. 미러링된 이미지를 표시하는 새 창이 열립니다.
    미러 이미지가 새 창에서 열림

JES를 사용하여 이미지 편집

이제 다양한 기술을 사용하여 JES에서 사진을 편집하는 방법을 이해하셨기를 바랍니다. 이것은 사진에 적용할 수 있는 유일한 기술이 아니므로 JES에서 다른 가능성을 더 많이 실험할 수 있습니다.

Python 기술을 향상시키려는 경우 짧고 재미있는 프로젝트는 주요 Python 개념을 이해하는 좋은 방법입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다