python opencv 목표 영역 재단 기능 구현
나 는 목표 구역 을 재단 해 야 한다.그렇지 않 으 면 후기 에 네트워크 를 훈련 할 때 전체 그림 이 너무 크 고 목표 구역 이 너무 작 아서 결과 가 좋 지 않 으 면 계 산 량 을 증가 시 킬 것 이다.인터넷 에서 각 사내 들 의 블 로 그 를 찾 아 보 았 지만 적당 한 것 을 찾 지 못 하고 스스로 쓰기 시작 했다.그리고 자신의 작은 역 을 막 세 워 자신의 생각 을 기록 했다.
사고의 방향
대상 구역 의 맨 왼쪽,맨 오른쪽,맨 위 와 맨 아래 픽 셀 점 을 찾 아 좌표 정 보 를 가 져 온 후 CV2 로 재단 하면 됩 니 다.
어 려 운 점
데 이 터 는 총 11952 장의 그림 입 니 다.한 장의 그림 은 1024*768 크기 입 니 다.순서대로 옮 겨 다 니 면 시간 이 너무 걸 릴 까 봐 걱정 입 니 다.결 과 는 괜 찮 습 니 다.그림 속 검은색 픽 셀 점 수 는 0 이 고 계 산 량 은 생각 보다 적 습 니 다.
\#코드
import cv2
"""
OpenCV
"""
def search(path):
left = 1024
right = 0
upper = 768
lower = 0
img = cv2.imread(path)[:,:,0]
# print(img.shape)
for i in range(768):
for j in range(1024):
if img[i,j] != 0 :
# print(img[i,j])
left = min(j,left)
right = max(j,right)
lower = max(i,lower)
upper = min(i,upper)
return (left,upper,right,lower)
def image_cut_save(path, left, upper, right, lower, save_path):
"""
:param path:
:param left:
:param upper:
:param right:
:param lower:
:lower > upper、right > left
:param save_path:
"""
img = cv2.imread(path) #
cropped = img[upper:lower, left:right]
#
cv2.imwrite(save_path, cropped)
if __name__ == '__main__':
root_path = r' '
save_path = r' '
images = os.listdir(root_path)
for image in images:
# print(image)
pic_path = os.path.join(root_path,image)
# print(pic_path)
pic_save_dir_path = os.path.join(save_path,image)
print(pic_save_dir_path)
left, upper, right, lower = search(pic_path)
# show_cut(pic_path, left, upper, right, lower)
image_cut_save(pic_path, left, upper, right, lower, pic_save_dir_path)
결실재단 한 그림 은 다음 과 같 습 니 다.
python opencv 가 목표 지역 의 재단 기능 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python opencv 지역 의 재단 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.