일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 텐서플로우
- 코딩
- python
- Windows 10
- shell
- 프로세스
- C언어
- 백준
- error
- c
- 영상처리
- TensorFlow
- 운영체제
- 백준알고리즘
- 딥러닝
- 쉘
- 턱걸이
- 공부
- Windows10
- 리눅스
- OpenCV
- Computer Vision
- 학습
- 회귀
- 프로그래밍
- 시스템프로그래밍
- CV
- C++
- linux
- 알고리즘
- Today
- Total
목록공부 (139)
줘이리의 인생적기
Canny Edge에 대해 알아보겠습니다. -1986년 제안된 알고리즘 -모든 경계선 검출 가능 -경계선 위치 정확히 측정 가능 -구현순서 : 가우시안필터로 노이즈 제거 -> sobel mask를 통한 경계선 검출 -> Non maximum suppression -> Double thresholding Canny Edge threshold1은 약한 경계선에 대한 값 threshold2는 강한 경게선에 대한 값 코드 원형 설명 def cannyEdge(image, threshold1=100, threshold2=200): return cv2.Canny(image, threshold1, threshold2) 코드 설명 더보기 from OpenCV_Functions import * def nothing(x):..

경계선 검출은 영상의 밝기가 낮은 값에서 높은 값으로, 또는 반대로 변하는 지점을 검출하는 과정이다. 객체의 경계를 검출함으로써 모양(shape), 방향(direction)을 탐지할 수 있다. 첫 번째로 1차 미분(prewitt, sobel, scharr) 방법을 통해 명암, 밝기 변화율을 검출한 후, 2차 미분(Laplacian) 방법을 이용하여 더욱 민감하게 검출한다. prewitt 연산자 - 수평이나 수직 경계선에 민감 sobel 연산자 - 대각선 경계선에 민감 scharr 연산자 - sobel 보다 민감 Laplacian 연산자 - 모든 방향의 경계선을 강조 참고 사이트 : https://iskim3068.tistory.com/49 윤곽선 검출(Edge Detection) 에지 디텍션 영상에서 윤..
Blur, GaussianBlur, MedianBlur에 대해 알아보겠습니다. 그전에, 영상 평활화(Image Smoothing, Image Blurring)를 알아보겠습니다. 영상 평활화는 영상을 부드럽게 표현하거나 잡음을 제거하기 위해 사용되며, 평균값 필터링(mean filtering) 및 중간값 필터링(median filtering) 연산을 통해 수행되어집니다. 평균값 필터링(mean filtering) -모든 계수가 양수, 전체 합이 1인 마스크 -weight의 형태에 따라 Gaussian filtering이라고도 불림. 중간값 필터링(median filtering) -Nonlinear filtering -중앙의 픽셀 값이 필터 영역 내 모든 픽셀 값의 중앙값으로 대체됨. 1번 imageBlur..

addImage, addWeightedImage, imageThreshold에 대해 알아보도록 하겠습니다. 1번 addImage - 이미지합치기 2번 addWeightedImage - 각 이미지에 가중치 조절하기 3번 imageThreshold -THRESH_BINARY : 픽셀 값이 설정 값보다 크면 설정 값, 작으면 0으로 할당. -THRESH_BINARY_INV : 픽셀 값이 설정 값보다 크면 0, 작으면 설정 값으로 할당. -THRESH_TRUNC : 픽셀 값이 설정 값보다 크면 설정 값, 작으면 픽셀 값으로 할당. -THRESH_TOZERO : 픽셀 값이 설정 값보다 크면 픽셀 값, 작으면 0으로 할당. -THRESH_TOZERO_INV : 픽셀 값이 설정 값보다 크면 0, 작으면 픽셀 값 할당..

매개변수 -정보를 검색하거나 저장하는데 사용할 수 있는 메모리의 일종의 공간 -정수, 인덱스, 배열, 몬자열 데이터 등 저장 가능 -'특수 매개 변수'와 '변수' 2가지가 있음 1. 변수 -만들고 업데이트할 수 있는 매개 변수 -글자, 숫자, 언더바로만 구성된 단어(숫자로 시작 불가능) -'=' 기호 주위에 공백 불가능( data = linedata는 잘못된 선언) -변수에 저장된 데이터 액세스 시 '$' 사용 -매개 변수 다음에 이름의 일부로 해석되지 않는 문자가 오는 경우, 매개 변수가 둘 이상의 숫자가 있는 위치 매개변수 인 경우 중괄호 사용(아래 예문 참고) 2. 특수 매개 변수 -읽기 전용, BASH에 의해 사전 설정 되어 있음 -내부 상태를 전달하는데 사용 3. 내부 변수 -쉘에서 제공하는 변수
영상에 라인을 그려보도록 하겠습니다. 주차 시 후방 카메라에서 많이 보셨을 겁니다. 차선과 평행 방향으로 라인 그리기 라인, 원, 사각형 삽입 코드 원형 설명 #라인 그리기 def drawLine(image, point1, point2, color=(255, 0, 0), thickness=3, lineType=cv2.LINE_AA): result = imageCopy(image) return cv2.line(result, point1, point2, color, thickness, lineType) #원 그리기 def drawCircle(image, center, radius, color=(255, 0, 0), thickness=3, lineType=cv2.LINE_AA): result = imageCo..

흰색 차선과 노란 차선을 검출해보도록 하겠습니다. 1번 흰색 차선 검출 2번 흰색 노란색 차선 검출 전체 코드 더보기 # -*- coding: utf-8 -*- from OpenCV_Functions import * def imageProcessing(image): result = imageCopy(image) lower_white_hls = np.array([0, 200, 0]) upper_white_hls = np.array([179, 255, 255]) lower_yellow_hls = np.array([15, 30, 115]) upper_yellow_hls = np.array([35, 204, 255]) result = convertColor(result, cv2.COLOR_BGR2HLS) whi..

먼저, ROI(Region of Interest) 관심영역 설정하는 방법을 알아보고 RGB 컬러 이미지의 경우 3개의 채널을 각각 Red Channel, Green Channel, Blue Channel 이라고 하는데 각 채널들을 분리해서 값을 원하는 값으로 변경해보도록 하겠습니다. 1번 grayscale로 이미지를 불러온 후 채널 분리, (100,100) ~(200,200) 픽셀의 lightness 값을 255로 변경 2번 이미지를 불러 온 후 채널 분리, (100,100) ~(200,200) 픽셀의 lightness 값을 255로 변경 채널 분리 및 병합 코드 원형 설명 #채널 분리 def splitImage(image): return cv2.split(image) #채널 병합 def mergeIma..