컬러 맵을 사용하여 이미지의 광도 맵에서 PIL 이미지 만들기

후안 데이비드

얼굴의 광도 맵을 나타내는 0과 1 사이의 4096 개의 데이터 포인트를 포함하는 M 개의 벡터가 있습니다. 이것은 실제 이미지의 샘플입니다.

여기에 이미지 설명 입력

이제 내 목적은 그것들을 시각적으로 시각적으로 표현하는 것이지만 그렇게하려면 이미지를 나타내는 PIL 객체를 제공해야합니다. 이것은 내 MVC입니다.

import PIL.Image as pilim
import matplotlib.cm as cm
import numpy as np

greys = cm.get_cmap('Greys')
num_images = 10
num_faces = faces.shape[0]
sample_images = np.random.choice(num_faces, num_images, replace=False)

for index in sample_images:
     greyscale = np.apply_along_axis(greys, 0, faces[index]).reshape((64, 64, 4))
     im = pilim.fromarray(greyscale, mode='RGBA')
     im.save('test{}.png'.format(index))    greys = cm.get_cmap('Greys')

Faces는 698 개의 샘플을 포함하는 ndarray입니다. 다음 샘플과 같은 것

[[0.01617647 0.01617647 0.01617647 ... 0.         0.         0.        ]
 [0.01617647 0.01617647 0.01617647 ... 0.         0.         0.        ]
 [0.01617647 0.01617647 0.01617647 ... 0.         0.         0.        ]]

그리고 이것은 나의 우울한 결과입니다

여기에 이미지 설명 입력

JohanC

PIL 은 픽셀 데이터와 함께 작동하므로 각 RGBA는 0에서 255 사이의 값입니다. 컬러 맵 기본값은 0-1 범위의 RGBA 값을 생성합니다. 이를 변환하려면 다음과 같이 255를 곱하고 8 비트 부호없는 정수 (uint8)로 변환 할 수 있습니다.

greyscale = np.uint8(cmap(faces[index].reshape(64,64)) * 255)

그러나 matplotlib의 컬러 맵은 이러한 바이트를 직접 생성하는 매개 변수도 지원합니다.

greyscale = cmap(faces[index].reshape(64,64), bytes=True)

나중에 배열의 형태를 (64,64,4)로 변경할 수 있지만 컬러 맵을 적용하기 전에 변환을 수행하는 것이 더 쉽고 읽기 쉽습니다.

이러한 유형의 이미지에 대해 여러 가지 순차적 인 컬러 맵선택할 수 있습니다. _r이름에를 추가하면 반전 컬러 맵이 제공됩니다 (너무 어둡고 밝은 반전).

시작하기위한 몇 가지 코드는 다음과 같습니다.

import PIL.Image as pilim
import matplotlib.cm as cm
import numpy as np
from matplotlib import pyplot as plt

cmap = cm.get_cmap('copper_r') # 'bone_r', 'Greys', 'copper_r', 'Purple', ...
num_images = 1

faces = np.tile(np.linspace(0,1,4096), 698).reshape(698, 4096)

num_faces = faces.shape[0]
sample_images = np.random.choice(num_faces, num_images, replace=False)
print(sample_images)
for index in sample_images:
     greyscale = cmap(faces[index].reshape(64,64), bytes=True)
     im = pilim.fromarray(greyscale, mode='RGBA')
     im.save(f'test{index}.png')

추신 : imsavematplotlib에는 코드를 더욱 단순화 하는 함수 있습니다.

for index in sample_images:
     plt.imsave(f'test{index}.png', faces[index].reshape(64,64), cmap=cmap)

이미지가 거꾸로 표시되면에 추가 origin='lower'하면 imsave반전됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PIL을 사용하여 사전에서 이미지 만들기

분류에서Dev

초 고해상도를 사용하여 여러 이미지에서 초 고해상도 이미지 만들기

분류에서Dev

PIL을 사용하여 이미지에서 투명 영역의 위치 찾기

분류에서Dev

여러 URL을 사용하여 여러 이미지 만들기

분류에서Dev

이미지를로드하지 않고 이미지에서 특정 픽셀 형식을 사용하여 C #에서 비트 맵 만들기

분류에서Dev

컬러 매트릭스를 사용하여 파란색 채널 만 사용하여 컬러 비트 맵을 회색 음영 이미지로 변환

분류에서Dev

컬러 매트릭스를 사용하여 파란색 채널 만 사용하여 컬러 비트 맵을 회색 음영 이미지로 변환

분류에서Dev

for 루프를 사용하여 PIL에서 여러 이미지 열기

분류에서Dev

별도의 컬러 맵으로 두 이미지 오버레이

분류에서Dev

PIL을 사용하여 이미지에서 픽셀 가져 오기

분류에서Dev

pre_save 신호에서 PIL을 사용하여 이미지 크기 조정

분류에서Dev

PIL을 사용하여 텍스트 만있는 이미지를 다른 이미지에 추가하는 방법

분류에서Dev

createjs를 사용하여 이미지 맵을 만드는 방법

분류에서Dev

tmap을 사용하여 R에서 여러 맵 만들기

분류에서Dev

다른 이미지에서 비트 맵 이미지의 컬러 픽셀 교체

분류에서Dev

픽셀 기반 컬러 이미지에서 글꼴을 만들 수 있습니까? (Pygame의 경우도 있지만 그렇지 않은 경우도 있음)

분류에서Dev

OpenCV / Numpy를 사용하여 Python을 사용하여 컬러 이미지에서 흰색 픽셀 찾기

분류에서Dev

Raspberry Pi에서 PIL을 사용하여 하나의 이미지를 다른 이미지에 추가

분류에서Dev

FFMPEG 명령을 사용하여 여러 이미지 + 음악에서 MP4 비디오 만들기

분류에서Dev

맵보기에서 여러 사용자 지정 주석을 만들려면 어떻게해야합니까?

분류에서Dev

이미지 뷰어 (GNOME의 눈)을 사용하여 디렉토리에 여러 개의 이미지 열기

분류에서Dev

cbfit matlab을 사용하여 사용자 지정 컬러 맵

분류에서Dev

PIL을 사용하여 파이썬에서 비트 맵 이미지를 분석하는 방법은 무엇입니까?

분류에서Dev

중첩 된 해시 맵에서 여러 동일한 깊이 값의 컬렉션 만들기

분류에서Dev

matplotlib를 사용하여 플로팅하는 동안 데이터 프레임 열의 문자열을 기반으로 컬러 맵 만들기

분류에서Dev

이미지에서 값이 다른 여러 픽셀의 좌표 데이터 프레임에서 히트 맵을 만드는 방법

분류에서Dev

비트 맵에서 그림 상자로 이미지 만들기

분류에서Dev

여러 이미지를 선택하지만 Javascript를 사용하여 별도의 위치에 데이터 저장

분류에서Dev

확인을 사용하여 Linux 이미지에서 ISO 만들기

Related 관련 기사

  1. 1

    PIL을 사용하여 사전에서 이미지 만들기

  2. 2

    초 고해상도를 사용하여 여러 이미지에서 초 고해상도 이미지 만들기

  3. 3

    PIL을 사용하여 이미지에서 투명 영역의 위치 찾기

  4. 4

    여러 URL을 사용하여 여러 이미지 만들기

  5. 5

    이미지를로드하지 않고 이미지에서 특정 픽셀 형식을 사용하여 C #에서 비트 맵 만들기

  6. 6

    컬러 매트릭스를 사용하여 파란색 채널 만 사용하여 컬러 비트 맵을 회색 음영 이미지로 변환

  7. 7

    컬러 매트릭스를 사용하여 파란색 채널 만 사용하여 컬러 비트 맵을 회색 음영 이미지로 변환

  8. 8

    for 루프를 사용하여 PIL에서 여러 이미지 열기

  9. 9

    별도의 컬러 맵으로 두 이미지 오버레이

  10. 10

    PIL을 사용하여 이미지에서 픽셀 가져 오기

  11. 11

    pre_save 신호에서 PIL을 사용하여 이미지 크기 조정

  12. 12

    PIL을 사용하여 텍스트 만있는 이미지를 다른 이미지에 추가하는 방법

  13. 13

    createjs를 사용하여 이미지 맵을 만드는 방법

  14. 14

    tmap을 사용하여 R에서 여러 맵 만들기

  15. 15

    다른 이미지에서 비트 맵 이미지의 컬러 픽셀 교체

  16. 16

    픽셀 기반 컬러 이미지에서 글꼴을 만들 수 있습니까? (Pygame의 경우도 있지만 그렇지 않은 경우도 있음)

  17. 17

    OpenCV / Numpy를 사용하여 Python을 사용하여 컬러 이미지에서 흰색 픽셀 찾기

  18. 18

    Raspberry Pi에서 PIL을 사용하여 하나의 이미지를 다른 이미지에 추가

  19. 19

    FFMPEG 명령을 사용하여 여러 이미지 + 음악에서 MP4 비디오 만들기

  20. 20

    맵보기에서 여러 사용자 지정 주석을 만들려면 어떻게해야합니까?

  21. 21

    이미지 뷰어 (GNOME의 눈)을 사용하여 디렉토리에 여러 개의 이미지 열기

  22. 22

    cbfit matlab을 사용하여 사용자 지정 컬러 맵

  23. 23

    PIL을 사용하여 파이썬에서 비트 맵 이미지를 분석하는 방법은 무엇입니까?

  24. 24

    중첩 된 해시 맵에서 여러 동일한 깊이 값의 컬렉션 만들기

  25. 25

    matplotlib를 사용하여 플로팅하는 동안 데이터 프레임 열의 문자열을 기반으로 컬러 맵 만들기

  26. 26

    이미지에서 값이 다른 여러 픽셀의 좌표 데이터 프레임에서 히트 맵을 만드는 방법

  27. 27

    비트 맵에서 그림 상자로 이미지 만들기

  28. 28

    여러 이미지를 선택하지만 Javascript를 사용하여 별도의 위치에 데이터 저장

  29. 29

    확인을 사용하여 Linux 이미지에서 ISO 만들기

뜨겁다태그

보관