본문 바로가기
반응형

image processing5

[Capstone Design]3. 차선 인식(Lane Detection) - 4 지난 시간에 허프 변환까지 진행했었죠? 오늘은 이제 이 직선을 가지고 무엇을 할지에 대해서 얘기를 드려보겠습니다. 그전에 잠깐, 우리는 왜 차선 인식을 진행하고 있나요? 가끔 수단에 집중하다 보면 목적을 잊어버리는 일이 생기기 때문에 항상 이렇게 목적이 무엇이었는지 떠올리는 습관을 가지면 좋습니다. 저 스스로에게 하는 얘기이기도 하고요. 차선 인식을 해야 하는 이유는 여기서 검출한 차선을 이용해 차량의 자율주행을 구현하기 위함이었죠. 그러기 위해서 차선만 검출하는 노력을 해왔던 거고요. 하지만 지금은 이렇게 깔끔하게 차선만 인식이 되어서 별 문제가 없는 것 같지만 여기에는 함정이 숨어 있습니다. 예시를 들어드리기 위해 다른 이미지를 가져와 봤습니다. 해당 사진에 이전 포스팅에서 사용했던 코드를 그대로 적.. 2022. 4. 13.
[Image Processing][Python]이미지 스무딩(mean, median, k-nearest neighbor) 이번 친구들은 스무딩, 블러링 같은 이름으로 불리는 처리 방법입니다. 이런 필터링 작업들을 해주는 이유는 이미지의 노이즈를 줄이거나 이미지를 흐리게 하기 위해서 진행하는 경우가 많습니다. mean filter 결과 : 코드 : import cv2 import numpy as np def mean_filter(img): h,w = img.shape[:2] img1 = img for i in range(1,h-1): for j in range(1,w-1): img1[i][j] = (int(img[i-1][j-1])+int(img[i][j-1])+int(img[i+1][j-1])+int(img[i-1][j])+int(img[i][j])+int(img[i+1][j])+int(img[i-1][j+1])+int(i.. 2021. 12. 9.
[Image Processing][Python]이미지의 도심 구하기(Centroid) 이번엔 이미지의 도심을 구해보겠습니다. 저는 뭔가 이미지 선택을 좀 잘못한 것 같은데요. 여러분들은 확실하게 객체 구분이 되는 이미지를 사용하시면 좋을 것 같습니다. 결과 : 코드 : import cv2 import numpy as np def cvt_to_binary(img,binary_threshold): img1 = np.where(img > binary_threshold,255,img) img2 = np.where(img1 < binary_threshold,0,img1) return img2 def get_centroid(binary_img): h,w = binary_img.shape[:2] x=[] y=[] for i in range(h): for j in range(w): if binary_i.. 2021. 12. 8.
[Image Processing][Python]이미지 히스토그램(Histogram) 오늘은 이미지의 히스토그램을 한 번 알아보고자 합니다. 이번 포스팅도 사전 설명이 좀 있을 예정입니다만 최대한 간략하게 하도록 노력해보겠습니다. 히스토그램(Histogram)이란 데이터의 특징을 한눈에 알아볼 수 있도록 데이터를 막대그래프 모양으로 나타낸 것입니다. 디지털 영상처리의 관점에서는 히스토그램을 통해 영상의 특징을 파악할 수 있다는 장점이 있는데요. 1 채널 이미지를 예로 들어보자면 0에서 255까지의 intensity 범위가 있고 해당 값을 갖는 픽셀의 개수를 세어 그래프로 만들어보면 명도에 따른 픽셀의 개수가 나오는 것이기에 이미지가 밝기 등을 알 수 있겠죠. 이전 포스팅에서도 알아봤듯이 intensity를 수학적 연산을 통해서 값을 변환시키면 그게 이미지에도 적용된다는 것을 봤었죠. 특정.. 2021. 12. 8.
[Image Processing][Python]이미지 그레이스케일 변환 문득 최대한 opencv를 안 쓰고 이미지 프로세싱을 진행해보면 어떨까 하는 생각이 들었습니다. 기초부터 이미지 프로세싱을 진행한다는 느낌도 들고 최소한 내가 사용하는 기술이 어떤 식으로 이뤄져 있는지는 알고 쓰는 게 나중에도 도움이 될 것이라 생각이 들어서 간단한 것부터 진행해보려 합니다. 이 글은 현재 opencv의 inshow, imread, imwrite 등의 이미지를 불러오고 보여주는 기술은 아직 구현하지 못했기에 전혀 opencv의 기능을 사용하지 않는 것이 아니라는 점을 미리 고지합니다. 흑백 이미지로 변환할 이미지를 아무거나 골라주세요. 저는 이 사진으로 해보겠습니다. 먼저 이미지에 대한 간단한 내용을 짚고 넘어가야 하는데요. 우리가 눈으로 볼 때는 이미지에 들어있는 무언가의 형태나 색을 .. 2021. 12. 6.
반응형