Python 이 RGB 그림 을 Pytho 그 레이스 케 일 그림 으로 변환 하 는 실례
나 는 matplotlib 를 사용 하여 RGB 그림 을 읽 고 그 레이스 케 일 로 변환 하려 고 시도 하고 있다.
matlab 에서 이 걸 사용 합 니 다:
img = rgb2gray(imread('image.png'));
matplotlib tutorial에서 그들 은 그것 을 덮 지 않 았 다.그들 은 단지 그림 에서 읽 을 뿐이다.
import matplotlib.image as mpimg
img = mpimg.imread('image.png')
그런 후에 그들 은 배열 을 자 르 지만 이것 은 내 가 알 고 있 는 RGB 를 그 레이스 케 일 로 바 꾸 는 것 이 아니다.
lum_img = img[:,:,0]
편집:나 는 numpy 나 matplotlib 가 rgb 에서 회색 으로 내 장 된 함수 가 없다 는 것 을 믿 기 어렵 다 는 것 을 발견 했다.이것 은 이미지 처리 에서 흔히 볼 수 있 는 조작 이 아 닙 니까?
나 는 5 분 안에 imread 가 져 온 그림 을 사용 할 수 있 는 매우 간단 한 함 수 를 썼 다.이것 은 매우 비효 율 적 인 것 이지 만,이것 이 바로 내 장 된 전문 적 인 실 시 를 원 하 는 이유 이다.
세 바스 티 안 은 나의 기능 을 개선 시 켰 지만,나 는 여전히 내 장 된 하 나 를 찾 고 싶다.
matlab(NTSC/PAL)구현:
import numpy as np
def rgb2gray(rgb):
r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]
gray = 0.2989 * r + 0.5870 * g + 0.1140 * b
return gray
대답:어떻게 사용 합 니까PIL
from PIL import Image
img = Image.open('image.png').convert('LA')
img.save('greyscale.png')
matplotlib 와the formula사용 하기
Y' = 0.299 R + 0.587 G + 0.114 B
너 는 이렇게 할 수 있다.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
img = mpimg.imread('image.png')
gray = rgb2gray(img)
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()
이 파 이 썬 이 RGB 이미 지 를 파 이 썬 그 레이스 케 일 이미지 로 변환 한 실례 는 여러분 에 게 공 유 된 모든 내용 입 니 다.참고 해 주시 고 많은 응원 부 탁 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.