파이썬 이미지 비교 및 색상값 비교 코딩

파이썬 이미지 비교 및 색상값 비교 코딩

작성일 2024.04.09댓글 1건
    게시물 수정 , 삭제는 로그인 필요

출처 https://gr-st-dev.tistory.com/900
import cv2 
import numpy as np 
def compare_images(image1_path, image2_path): 
# 이미지 불러오기 
image1 = cv2.imread(image1_path)
image2 = cv2.imread(image2_path) 
# 이미지 크기 조정 
image1 = cv2.resize(image1, (300, 300))
image2 = cv2.resize(image2, (300, 300)) 
# 이미지를 그레이스케일로 변환 
image1_gray = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)
image2_gray = cv2.cvtColor(image2, cv2.COLOR_BGR2GRAY) 
# 히스토그램 계산 
hist1 = cv2.calcHist([image1_gray], [0], None, [256], [0, 256])
hist2 = cv2.calcHist([image2_gray], [0], None, [256], [0, 256])
# 히스토그램 비교 
similarity = cv2.compareHist(hist1, hist2, cv2.HISTCMP_CORREL) 
return similarity
image1_path = 'image1.jpg'
image2_path = 'image2.jpg' 
similarity_score = compare_images(image1_path, image2_path) 
print(f"두 이미지의 유사도: {similarity_score}")

첫번째로 전체적인 현상은 비슷하나 일부분 색깔만 다른 사진를 결과를 보니 유사도가 0.84 나왔습니다.
두번째로 모양이 거의 같은데 색깔만 바꾼걸로 비교해봤습니다. 두 이미지 유사도가 0.99가 나와서 질문드립니다.

1. 혹시 제목처럼 이미지 유사도 뿐만아니라 색상값도 비교 가능한 코딩 짤 수 있을 까요?
2. 1의 결과값이 나오는 코딩과 책, 블로그 등 관련 추천 좀 받고 싶습니다.


#파이썬 이미지 불러오기 #파이썬 이미지 인식 매크로 #파이썬 이미지 #파이썬 이미지 인식 #파이썬 이미지 저장 #파이썬 이미지 출력 #파이썬 이미지 텍스트 추출 #파이썬 이미지 픽셀값 추출 #파이썬 이미지 크롤링 #파이썬 이미지 특정 부분 추출

profile_image 익명 작성일 -

**1. 이미지 유사도와 색상값을 모두 비교하는 코드**

```python

import cv2

import numpy as np

def compare_images(image1_path, image2_path):

# 이미지 불러오기

image1 = cv2.imread(image1_path)

image2 = cv2.imread(image2_path)

# 이미지 크기 조정

image1 = cv2.resize(image1, (300, 300))

image2 = cv2.resize(image2, (300, 300))

# 이미지를 HSV 색공간으로 변환

image1_hsv = cv2.cvtColor(image1, cv2.COLOR_BGR2HSV)

image2_hsv = cv2.cvtColor(image2, cv2.COLOR_BGR2HSV)

# Hue, Saturation, Value 채널 분리

hue1, saturation1, value1 = cv2.split(image1_hsv)

hue2, saturation2, value2 = cv2.split(image2_hsv)

# Hue 히스토그램 비교

hist_hue1 = cv2.calcHist([hue1], [0], None, [256], [0, 256])

hist_hue2 = cv2.calcHist([hue2], [0], None, [256], [0, 256])

similarity_hue = cv2.compareHist(hist_hue1, hist_hue2, cv2.HISTCMP_CORREL)

# Saturation 히스토그램 비교

hist_saturation1 = cv2.calcHist([saturation1], [0], None, [256], [0, 256])

hist_saturation2 = cv2.calcHist([saturation2], [0], None, [256], [0, 256])

similarity_saturation = cv2.compareHist(hist_saturation1, hist_saturation2, cv2.HISTCMP_CORREL)

# Value 히스토그램 비교

hist_value1 = cv2.calcHist([value1], [0], None, [256], [0, 256])

hist_value2 = cv2.calcHist([value2], [0], None, [256], [0, 256])

similarity_value = cv2.compareHist(hist_value1, hist_value2, cv2.HISTCMP_CORREL)

# 평균 유사도 계산

similarity_average = (similarity_hue + similarity_saturation + similarity_value) / 3

return similarity_average

image1_path = 'image1.jpg'

image2_path = 'image2.jpg'

similarity_score = compare_images(image1_path, image2_path)

print(f"두 이미지의 유사도: {similarity_score}")

```

**2. 추천 책 및 블로그**

* **[OpenCV 4 Computer Vision with Python](https://www.packtpub.com/product/opencv-4-computer-vision-with-python-second-edition/9781800561874)**

* **[Python Imaging Library (PIL)](https://pillow.readthedocs.io/en/stable/)**

* **[Color Histogram](https://docs.opencv.org/4.x/d8/d8b/tutorial_py_histogram.html)**

* **[Compare Images in Python Using OpenCV](https://www.pyimagesearch.com/2014/08/05/compare-two-images-using-opencv-2/)**

파이썬과 R의 특징?

... 위한 파이썬과 R의 비교 3 객체지향 관점에서 본 파이썬과... 음성인식, 이미지 처리 등 다양한 분야에 사용할 수 있습니다. 만약에 자녀 분이 있다면 파이썬 코딩을...

익산 코딩학원

... 비교 - VMWare Workstation으로 리눅스 운영체제 설치 - 한글 putty 설정 사용 - 리눅스 폴더의 역할 경로개념 - 리눅스 기본 명령어 학습 ▶파이썬 기초 - python ...

엔트리 코딩하는거 있잖아요

... 비교 - VMWare Workstation으로 리눅스 운영체제 설치 - 한글 putty 설정 사용 - 리눅스 폴더의 역할 경로개념 - 리눅스 기본 명령어 학습 ▶파이썬 기초 - python ...

광주 코딩배울만한 학원 있을까요?

... 비교 - VMWare Workstation으로 리눅스 운영체제 설치 - 한글 putty 설정 사용 - 리눅스 폴더의 역할 경로개념 - 리눅스 기본 명령어 학습 ▶파이썬 기초 - python...

종로코딩학원추천부탁드립니다.

... 비교 - VMWare Workstation으로 리눅스 운영체제 설치 - 한글 putty 설정 사용 - 리눅스 폴더의 역할 경로개념 - 리눅스 기본 명령어 학습 ▶파이썬 기초 - python...

솔루션 개발 / 코딩 / 프로그래밍 언어

... (배우기 쉽다는 이유로 파이썬을 많이 추천하실 것... 글자폰트와 이미지, 터치아이콘, 플래시 등 데스크탑... 웹페이지 코딩 프로그래밍 관련 기술 ▶ 직업종류...

대부분 어떤코딩프로그램을 사용하나요

... 어떤코딩프로그램을 사용하나요 파이썬? 고민이... 내가 전달하고자 하는 이미지가 과연 그사람이 단지 내가... 하지마시구 비교분석 잘하셔서 배우셨으면 좋겠습니다....