영상 파일을 이미지 파일로 변경한 것을 다시 영상 파일로 바꿀 필요가 있어서 코드를 작성해보았습니다. 2023. 2. 14 최초작성 2024. 4. 20 동영상 파일을 일련 번호 붙인 이미지 파일로 저장하는 것은 다음 포스트를 참고하세요. OpenCV Python - 동영상 파일을 일련번호 붙은 이미지 파일로 저장하기 https://webnautes.tistory.com/2323 일련 번호 붙은 이미지 파일을 동영상 파일로 다시 바꾸어봅니다. import cv2 import os def get_files(path): for root, subdirs, files in os.walk(path): list_files = [] if len(files) > 0: for f in files: fullpath = r..
Android NDK와 OpenCV를 사용하여 갤러리에 있는 이미지를 불러와 영상처리하는 예제입니다. 바를 이용하여 Canny의 스레숄드를 변경하면 바로 결과를 볼 수 있습니다. 2016.12.16 최초작성 . . . . 2019. 2. 8. 갤러리에서 이미지 불러오도록 수정 2019. 5. 5. 스레숄드 조정할 수 있는 바를 추가 2020. 9. 22 androidx 관련 수정 2023. 11. 26 . 외장 저장공간 접근 권한을 사용하기 때문에 처음 실행하면 권한 요청을 합니다. 상단에 보이는 디폴트 이미지를 클릭하면 갤러리에서 이미지를 불러올 수 있습니다. 이미지를 불러올 때 사용할 앱을 선택합니다. 갤러리에서 이미지를 선택합니다. 상단에 갤러리에서 선택한 이미지가 보입니다. 에지 검출하기를 선택하..
Keras로 구현한 MNIST Image Classification입니다. 2023. 05. 06 최초작성 import tensorflow as tf import matplotlib.pyplot as plt # MNIST 데이터셋을 로드하여 Train 데이터셋은 x_train, y_train에 대입히고 Test 데이터셋은 x_test, y_test에 대입됩니다. # x_train과 x_test에는 28 x 28 크기의 정사각형 이미지가 저장되어 있으며 # y_train과 y_test에는 28 x 28 크기의 이미지가 나타내는 0 ~ 9 사이의 숫자가 저장되어 있으며 라벨(label)이라고 부릅니다. (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mn..
Flutter 프로젝트에 이미지 파일을 추가하여 사용하는 방법을 다루고 있습니다. 2022. 7.23 최초작성 프로젝트 이름을 선택하고 마우스 우클릭하여 메뉴에서 New > Directory를 선택합니다. assets를 입력한 후, 엔터키를 누릅니다. 프로젝트 창에 assets 디렉토리가 추가되었습니다. assets 디렉토리가 선택된 상태에서 마우스 우클릭하여 메뉴에서 New > Directory를 선택합니다. images를 입력하고 엔터를 누릅니다. assets 디렉터리 아래에 images 디렉토리가 생성되었습니다. 이미지를 준비하고 프로젝트 창의 images 디렉토리에 이미지 파일을 드래그앤 드랍합니다. 다음 창이 보이면 Refactor 버튼을 클릭합니다. assets > images 디렉토리에 이미..
주어진 이미지 파일을 사용하여 구글 이미지 검색하는 파이썬 코드입니다. 최초작성 2023. 1. 21 import requests import webbrowser filePath = 'image.jpg' searchUrl = 'http://www.google.hr/searchbyimage/upload' multipart = {'encoded_image': (filePath, open(filePath, 'rb')), 'image_content': ''} response = requests.post(searchUrl, files=multipart, allow_redirects=False) fetchUrl = response.headers['Location'] webbrowser.open(fetchUrl) 출..
이미지에서 텍스트 영역을 찾아주는 OpenCV Python의 MSER 예제입니다. 최초작성 2020. 12. 23 import cv2 import os import numpy as np path = os.path.dirname(os.path.realpath(__file__)) + "/f.jpg" img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray,(5, 5),0) mser = cv2.MSER_create() regions,_ = mser.detectRegions(gray) clone = img.copy() hulls = [cv2.convexHull(p.reshape(-1, 1, 2))..
OpenCV에서 로드한 이미지 파일을 QT에서 보여주고 그레이스케일로 변환하는 간단한 영상처리를 구현한 예제입니다. 2021. 9. 26 - 최초작성 처음 실행하면 다음처럼 버튼만 보입니다. Open 버튼을 클릭하면 파일 다이얼로그가 보이면서 이미지 파일을 선택할 수 있습니다. 이미지 파일을 선택한 후 Open 버튼을 클릭합니다. OpenCV를 사용하여 이미지 파일을 로드하여 QT의 Label에 보여줍니다. Process 버튼을 클릭하면 그레이스케일 이미지로 변환해줍니다. 이 부분을 원하는 영상처리로 변경하면 됩니다. Close를 클릭하면 이미지가 사라지고 보여주었던 크기만큼 검은색 영역을 보여주게 됩니다. 전체 코드입니다. #include #include #include #include #include..
warpAffine함수를 사용하여 이미지를 이동 및 회전하는 방법을 다루고 있습니다. 마지막 업데이트 - 2018. 10. 3 translation matrix를 사용하여 x축 방향 및 y축 방향으로 이미지를 이동시킵니다. rotation matrix를 사용하여 이미지를 회전시킵니다. OpenCV의 getRotationMatrix2D 함수는 배율 및 회전 중심 좌표가 추가된 rotation matrix를 사용합니다. 테스트에 사용한 전체 코드입니다. import numpy as np import cv2 # 원본 이미지 img_source = cv2.imread('cat.jpg') cv2.imshow("original", img_source) cv2.waitKey(0) # 이미지 이동 height, wid..
resize() 함수를 사용하여 이미지를 확대 및 축소하는 방법을 다루고 있습니다. 2018. 10. 3 최초 작성 2023. 2. 14 제목 변경 이미지 확대 또는 축소시 사용할 보간법(interpolation methods) 지정해줄 수 있습니다. 지정해주지 않았을 때 디폴트값은 cv2.INTER_LINEAR입니다. 이미지 확대할때에는 cv2.INTER_CUBIC 또는 cv2.INTER_LINEAR을 권장합니다. cv2.INTER_CUBIC을 사용하면 좀더 선명한 이미지를 얻을 수 있지만 처리속도가 상대적으로 느립니다. 동영상을 처리하거나 큰 이미지를 처리할 때에 체감이 될듯합니다. 이미지를 축소할때에는 cv.INTER_AREA를 권장합니다. 테스트에 사용한 전체 코드입니다. import cv2 # ..
하나의 figure안에 여러 개의 이미지를 출력하는 예제코드입니다. figure 안에 여러 개의 subplot이 존재할 수 있고 subplot마다 하나의 그래프나 이미지가 그려지게 됩니다. 2022. 10. 19 최초작성 import cv2 import numpy as np import matplotlib.pyplot as plt # 가로 길이, 세로 길이. 인치 단위 plt.figure(figsize=(7, 10)) for i in range(20): # 열개수 4개, 행 개수 5개 짜리 그리드를 생성한 후, 인덱스 i+1 번째를 사용 plt.subplot(5, 4, i + 1) # 빈 이미지에 인덱스 숫자를 출력 img_empty = np.zeros((150,150,1), dtype=np.uint8)..