OpenCV
[안드로이드로 배우는 OpenCV] 이미지의 논리 연산
이미지는 픽셀들의 집합이며, 하나의 픽셀은 색상에 따라 n바이트로 표현되곤한다. 회색조 이미지의 경우 보통 한 픽셀이 0~255값을 가지는데 값의 경우의수가 256가지인셈이다. 그러면 2^8 = 256 이므로 8bit(1byte)의 메모리가 필요하다. 예) 10101000 두 이미지의 같은 좌표에 있는 픽셀들에 비트 연산을 수행할 수 더보기…
이미지는 픽셀들의 집합이며, 하나의 픽셀은 색상에 따라 n바이트로 표현되곤한다. 회색조 이미지의 경우 보통 한 픽셀이 0~255값을 가지는데 값의 경우의수가 256가지인셈이다. 그러면 2^8 = 256 이므로 8bit(1byte)의 메모리가 필요하다. 예) 10101000 두 이미지의 같은 좌표에 있는 픽셀들에 비트 연산을 수행할 수 더보기…
히스토그램 히스토그램은 도수분포표를 그래프로 나타낸 것이다. OpenCV에서는 영상의 픽셀 값 분포를 그래프의 형태로 표현한 것을 말한다. OpenCV에서는 calcHist() 함수를 통해 히스토그램을 구할 수 있다. 예제코드를 살펴보자. val images = listOf(src) val channels = MatOfInt(0) //grayscale은 채널이 하나이므로 0 val mask:Mat 더보기…
The legs are NOT FIXED TIGHT 다리가 단단히 고정이 되지 않았요 It was SUPER ANNOYING 매우 귀찮았어요. That’s WHAT I’m SAYING!! 내말이!! I should’ve, but I COULDN’T. 그랬어야 했는데 그러지 못했어요. IN ORDER TO MAKE THIS WORK, I SHOULD GO 더보기…
차이 연산 dst( x, y ) = |src1( x, y ) − src2( x, y )| 두 영상의 같은 위치에 존재하는 픽셀 값에 대해 뺄샘 연산을 수행한 결과의 절대값을 결과 이미지의 픽셀값으로 설정한다. 절대값을 적용하므로 뺄셈 연산과 달리 입력 이미지의 더보기…
가중치 합(Weighted sum) dst( x, y ) = saturate(α * src1( x, y ) + β * src2( x, y )) 두 이미지의 같은 위치에 존재하는 픽셀에 대해 가중치를 적용한 값을 계산하여 결과 이미지의 픽셀 값을 설정한다. 일반적으로 α+β = 더보기…
뺄셈 연산 dst( x, y ) = saturate(src1( x, y ) − src2( x, y )) 뺄셈 연산은 두 이미지의 같은 위치에 존재하는 픽셀 값을 뺀 결과를 픽셀 값으로 설정하는 연산을 말한다. 뺄셈 결과가 픽셀의 표현범위 보다 작으면 특정 픽셀 더보기…
덧셈 연산 dst( x, y ) = saturate(src1( x, y ) + src2( x, y )) 덧셈 연산은 두 이미지의 같은 위치에 존재하는 픽셀 값을 더해 결과 영상의 픽셀 값으로 설정하는 연산을 말한다. 덧셈결과가 픽셀의 표현범위 보다 크면 특정 픽셀 더보기…
안드로이드 스튜디오에서 ~Directions 클래스를 참조할 수 없다고 나오는데 빌드는 제대로 완료 되는 경우가 있다. 이 경우 Directions가 생성되지 않은 것이 아니라 참조가 되지 않는 것이다. 실제로 build/generated/source/navigation-args 경로에 가보면 Directions 클래스들이 존재하는 것을 확인할 수 있다. 즉, 컴파일 타임에 Directions가 더보기…
이미지 밝기 조절하기 아래 이미지와 같이 원본이미지의 밝기를 조절하는 방법에 대해서 알아본다. 픽셀 처리하기 이미지를 밝게 하거나 어둡게 하기 위해서는 각 픽셀에 대한 특정 연산을 해줘야한다. 이미지는 여러 픽셀들로 구성되며 픽셀의 총 갯수는 다음과 같이 구할 수 있다. 이미지의 가로 더보기…
디지털 카메라와 이미지 센서 DSLR(Digital Single-Lens Reflex)은 디지털 일안 반사식 카메라를 의미하며, 미러리스는 내부의 미러 및 펜타프리즘을 제거하여 크기와 무게를 줄인 카메라를 의미한다. 이 두 카메라 모두 렌즈를 통해 빛을 받고 이미지 센서를 통해 기록된다. 이미지 센서의 종류 이미지 더보기…