본문 바로가기

분류 전체보기195

[C++ opencv] 효율적인 Histogram 이용한 이미지 밝기 조절 본문 목표 이미지의 Histogram 정보를 통해서 이미지의 밝기를 효과적으로 조절할 수 있다. OpenCV 에서도 해당 기능을 지원하는데, 이를 적용해보도록 한다. 키워드 : equalizeHist, Histogram equalization, 히스토그램 equalizeHist 히스토그램 - 원리 이해 히스토그램은 이미지의 밝기 값이 0~255 까지 있을 때, 픽셀들이 얼마나 그 값들을 갖고 있는지 나타내주는 그래프 이다. 예를 들면, 위와 같이 a 라는 이미지의 픽셀들 값이 행렬처럼 존재한다고 하면 오른쪽 그래프처럼 10의 값을 갖고 있는 픽셀 6개, 20의 값을 갖고 있는 픽셀 4개, 50의 값을 갖고있는 픽셀 7개, 90의 값을 갖고있는 픽셀 3개 로 나타낼 수 있다. 이런 히스토그램을 이미지에 적.. 2020. 6. 25.
[C++ opencv] 가장 쉽게 이미지 밝기 조절 하는 방법 본문 목표 OpenCV를 사용해서 영상처리를 할 때, 전에도 말했지만 무조건 흑백(grayscale) 이미지에서 연산을 처리해야 한다고 했다. 그 이유로는 연산처리 속도가 빨라지고 명확하게 할 수 있으므로, 오히려 정확도가 올라간다고 할 수 있다. 아무튼 이번에는 grayscale 이미지에서 밝기를 조절하는 방법을 알아보도록 한다. 키워드 : 사칙연산 ( + , - , * , / ) 원리 원리는 단순하다. grayscale은 0~255 의 값을 갖고있고, 이는 픽셀의 밝기 정도를 나타낸다. (1,1) 좌표의 픽셀의 밝기 값이 50 인데, 100으로 증가시키려면 어찌해야될지 생각해보자. 그러면 가장 단순하게 50만큼을 더해도 되고, 값을 2배로 증가시켜도 된다. 이미 초등학교를 다 뗏다면 방법은 다 알고 .. 2020. 6. 25.
[C++ opencv] 동영상 불러오기 VideoCapture() 본문 목표 OpenCV 를 사용하다 보면, 웹캠으로 실시간 영상을 받아와서 영상처리를 해야할 때도 있지만, 저장되어 있는 동영상 파일에서도 영상처리를 필요로 할 때가 많다. 이번에는 동영상 파일에서 프레임을 추출해 연산처리를 할 수 있는 방법을 알아본다. 키워드 : VideoCapture 알아볼 함수 원형 - 동영상 캡쳐 또는 불러오기 ( VideoCapture ) #include ... VideoCapture cap("test.mp4"); if (!cap.isOpened()) { printf("Can't open the video"); return -1; } ... VideoCapture '변수 이름'( "동영상 이름" ) : '변수 이름'은 "동영상 이름"에 해당하는 동영상 화면(frame)을 읽어온.. 2020. 6. 24.
[C++ opencv] 카메라, 웹캠 영상 입력받기 VideoCapture() 본문 목표 OpenCV를 사용하는 목적은 여러가지가 있을 수 있다. 정지되어 있는 사진, 움직이는 물체를 담은 동영상, 실시간 카메라 영상 등 다양하게 사용할 수 있는데, 이번에는 실시간 카메라 영상을 OpenCV에서 사용하는 방법에 대해서 알아본다. 키워드 : VideoCapture 알아볼 함수 원형 - 동영상 캡쳐 또는 불러오기 ( VideoCapture ) #include ... VideoCapture cap(0); if (!cap.isOpened()) { printf("Can't open the camera"); return -1; } ... VideoCapture '변수 이름'( '카메라 번호' ) : '변수 이름'은 '카메라 번호'에 해당하는 카메라 화면을 읽어온다. 노트북의 경우 내장 웹캠이.. 2020. 6. 24.
티스토리 글자색 바꾸는 단축키 매크로 제작 제작 동기 티스토리 글을 쓰다보면 글자색을 바꿔서 포인트를 줘야할 경우가 제법 많았다. 그런데 글자색을 바꾸는 것에 있어서 단축키가 없어 매우 불편했다. 자주 사용하는 색상에 한해서는 단축키를 지정해줬으면 좋겠지만... 앞으로도 그런일은 일어나지 않을 것 같았다. 그래서 매크로 프로그램으로 티스토리 전용 글자색 바꾸는 단축키 프로그램을 제작해 보았다. 제작 방법 제작을 하기 위해서 오토핫키 라는 프로그램을 사용하였다. 오토핫키 프로그램을 다루려면 우선 C언어 기반의 코딩 지식이 있어야 한다. C언어와는 다르지만 어쨌든 코딩 기본 지식은 있어야 수월하다. 티스토리의 배경색 아이콘을 찾은 뒤 그 왼쪽의 글자색 변경 아이콘을 클릭하고, 원하는 색상을 클릭하는 방식으로 알고리즘을 구성했다. 시연 Ctrl + 1.. 2020. 6. 17.
[C++ opencv] Grayscale 변환에 대한 고찰 1 본문 목표 OpenCV 를 사용하다 보면 Grayscale을 정말 많이 사용한다. 그 이유는 노이즈를 없애고 연산처리 속도를 빠르게 하면서 정확도를 향상시키기 위함이다. 하지만 imread( )에서 flag를 0으로 받아온 grayscale 이미지와 cvtColor( ) 함수를 사용해서 얻은 grayscale 이미지가 다를 수 있다는 사실을 아는 사람이 얼마나 될까 싶다. 이번 글에서는 Grayscale 에 대해서 전문적으로 다뤄보고 이에대한 여러가지 고찰에 대한 내용을 다뤄보려한다. Grayscale - 흑백 채널, 회색조 ( Grayscale ) 단순하게 해석하자면 컬러이미지에서 광도만을 표현한 색 채널이다. 밝은 부위는 하얀색, 어두운 부위는 검은색으로 표현되는 색 채널이다. 보통 0~255 까지의.. 2020. 6. 17.
[C++ opencv] 컬러이미지 흑백으로 변환 , RGB to Grayscale 본문 목표 OpenCV에서 이미지를 연산처리할 때, 흑백 이미지로 처리하는 것이 좋다. 컬러 이미지를 흑백 이미지로 변환해주는 방법에 대해서 알아본다. 키워드 : cvtColor( ) 알아볼 함수 원형 - 이미지 색채널 변경 ( Converter Color ) #include using namespace cv; using namespace std; ... Mat color_img = imread("Lenna.png"); Mat grayscale_img; cvtColor(color_img, grayscale_img, COLOR_BGR2GRAY); ... cvtColor( input Array, output Array, flag) : input Array를 입력받아 flag 에 대한 옵션으로 이미지 색채널을.. 2020. 6. 17.
[C++ opencv] 이미지 불러오고 보여주는 방법, imread() imshow() 본문 목표 OpenCV에서 이미지를 읽고 화면에 보여주는 기능을 담당하는 imread() 와 imshow() 함수에 대해서 알아본다. 키워드 : imread( ), imshow( ) 알아볼 함수 원형 - 이미지 읽기 & 불러오기 ( Image Read, imread() ) using namespace cv; using namespace std; ... Mat img = imread("Lenna.png", 1); imread( "fileName", flag) : fileName 에는 불러오고자 하는 이미지의 경로를 입력하고, flag는 불러오는 옵션을 입력한다. 불러오고자 하는 이미지가 프로젝트 폴더 안에 있다면 fileName 에 파일 이름을 입력하면 된다. 위와 같이 "Lenna.png" 라고 입력하면.. 2020. 6. 16.
가장 쉽고 정확하게 C++ OpenCV 설치하기 (모든버전 공통) 이미지 인식을 다루는 분들이라면 OpenCV를 모르는 분들이 없을 것이다. 아니 없어야 정상이다. 왜냐하면 C++ 또는 Python 에서 수 많은 라이브러리를 제공해주고 있는데, 모른다면 문제가 있다. 몰랐다면 이 기회에 알아가면 된다~ 아무튼 오늘은 C++ 용 OpenCV를 설치하는 방법을 알아보자 OpenCV를 C++ 로 사용하고 싶다면 우선 Windows 기준으로 VisualStudio 설치가 선행되어 있어야한다. VisualStudio가 설치 안 되어 있다면 아래 링크를 통해서 VisualStudio 를 설치하시길 바란다. https://diyver.tistory.com/49 VisualStudio 2019 무료 설치하는 방법, 처음부터 끝까지 대학교 공대를 다니시거나 다녔었던 분들은 거의 대부분.. 2020. 6. 15.
VisualStudio 2019 무료 설치하는 방법, 처음부터 끝까지 대학교 공대를 다니시거나 다녔었던 분들은 거의 대부분 VisualStudio로 C언어를 배우셨거나 다룬다. 오늘은 그 VisualStudio를 설치하는 방법을 알아보기로 한다. VisualStudio는 원래 유료프로그램이고, 지금도 유료프로그램이지만 무료로 사용할 수 있게 되었다. 커뮤니티라는 버전을 출시하면서부터 무료로 사용할 수 있게 되었다. 덕분에 예전의 버전들보다 더 많은 기능을 부담없이 사용할 수 있게 되었다. 물론 상업적 이용이나 제대로 된 개발을 한다면 유료판을 사용해야 할 것이다. 하지만 단순히 개인 프로젝트를 위한 것이라면 커뮤니티 버전으로 충분할 것이다. STEP 1 - 설치파일 다운로드 아래의 다운로드 사이트 주소에 들어가도록 한다. https://visualstudio.microso.. 2020. 6. 15.
자작 자전거 전조등 제작 모델링 #1 - 본체 모델링 자전거를 즐겨타시는 분이라면 다 아는 사실 전조등과 후미등은 필수사항이다! 그런데 다이소에서 사는 전조등은 밝지가 않고 조금만 쓰다보면 지혼자 깜빡깜빡 한다... 그렇다고 비싼걸 사자니 2만원~5만원 까지 너무 다양하다. 그런데 그렇게 까지 주고 사야되나 싶다. 그래서 제작해 본 것이 바로 자작 자전거 전조등 ! 자작 전조등을 만들 때 필요한 것은 다음과 같다. 1. 충전지 (18650 리튬이온 배터리, 보호회로 장착) 2. 충전모듈 (TP4056) 3. LED (CREE 사 정품 LED) 4. 스위치 5. 하우징 하우징을 제작하는 것이기 때문에 1~4 번에 해당하는 내용들을 고려해서 설계를 해야한다. 경험상 1번의 경우 시중에서 파는 것 처럼 착탈식이고, -극은 스프링으로 되어있는 방식은 제작하기가 까.. 2020. 5. 15.
자취생 필수품! 모던쿡 전자렌지 냉동밥보관용기 사용후기 대학생 때, 타지에서 자취생활을 했었다. 지금은 일을 하지만 지금도 자취한다^^ 자취하면서 제일 귀찮은게 사실 밥하는거고 설거지 하는거고, 청소하는 것이다. 반찬은 있는데, 밥이 없어서 비싼 돈 주고 햇반 사먹은 적이 얼마나 많던가 또, 밥은 해놓고 맨날 나가서 먹어서 밥이 눌러붙고, 밥이 상했던 적도 있었다. 그러면 또 밥 먹기 싫어서 배달 시켜먹고, 통장은 텅장이 되어버리고 이 순환의 반복이다! 밥을 하자마자 용기에 담아서 냉동고에 넣어놓고 밥 먹을 때마다 햇반 돌리듯이 3~4 분 돌리면 방금 지은 밥처럼 맛있는 밥을 먹을 수 있다는 사실~! 그래서 냉동밥 보관용기를 구입하게 되었다. 내가 구매한 브랜드는 모던쿡이지만 다른 브랜드 다 똑같다. 다른 제품이라도 밥 좋아하는 자취생이라면 무조건 구매하시길.. 2020. 5. 12.
어메이즈핏 GTR 47mm 티타늄 사진과 후기 샤오미 미밴드 2를 정말 잘 사용해왔다. 저렴한 가격에 배터리도 오래가고, 필요한 기능만 있었던게 좋았었다. 그런데 미밴드 2의 단점은 시간이 지나면서 lcd가 흐려지고 안 보이는 상황이 온다는 것이다. 실내에서도 현재시각을 보기가 힘들어서 바꾸고 싶은 마음이 컸다. 그런데 이 때, 이랜드몰에서 어메이즈핏을 정식으로 수입해와서 판다는 정보를 입수했다. 게다가 한정판인 티타늄 모델도 취급하고 있었다. 이런 저런 상황들 때문에 그냥 나도 모르게 질러버렸다... 티타늄을 구입하게 된 이유는, 다른 컬러는 개인이 튜닝을 좀 해야되는 문제가 있었다는 것이다. 일단 티타늄만 베젤링을 추가로 구입안해도 되었고, 어차피 고급스러운 시계가 아닌이상 튜닝으로는 한계가 명백했다. 그래서 개성을 살리고자 티타늄으로 선택했다... 2020. 5. 11.
소니 블루투스 스피커 SRS-XB12 리뷰, 저렴한 가격에 이런 성능이!? 소니 노이즈 캔슬링 헤드폰 WH-1000XM3 를 사려고 했는데 이벤트로 WH-1000XM3와 SRS-XB12를 묶어서 39만 9천원에 판매하길래... 구매하게 되었다. 두개를 최저가로 각각 사게되면 40만원이 훌쩍 넘는 금액인데 나도모르게 뭔가에 홀려서 구매하게 되었다... 그렇다고 아예 사용 용도가 없는건 아닌게 야외활동을 자주 하는데 가끔 필요할 때가 있긴 했었다. (대략 자기 합리화 오지게 하는 중) 아마 캠핑? 같은거 자주 하던가 하려고 산게 아닐까... 앞에서 언급했지만 이벤트로 WH-1000XM3 와 묶어서 사서 정확한 금액을 따질 수 없다. 네이버 최저가격은 이 글 쓰고 있는 당시에 59,000원 이다. WH-1000XM3 는 359,000원 이니깐 두개를 합치면 418300원이다. 정가로.. 2020. 5. 8.
노이즈캔슬링 끝판왕 소니 WH-1000XM3 3D프린터 관련 사업을 하면서 소음에 의한 스트레스가 컸다. 잔잔한 상황에 기계음은 상당히 거슬린다. 그래서 질러버렸다... 사실 예전부터 꼭 사고 싶었던 기기 중 하나였다. 16년에 압구정 소니스토어에서 이벤트겸 청음을 해봤었는데 그 때부터 언젠가 꼭 산다고 마음먹었었다. 소니의 큰그림... 청음을 그냥 권장한게 아니었다... 엑스페리아 홍보는 망하면서 이런건 되게 잘한단 말야;; 아무튼 사고싶었던 마음에 이벤트로 SRS-XB12 까지 묶어서 싸게 파는데 안 살 수가 없었다. 이벤트 가격으로 SRS-XB12 랑 묶어서 39만 9천원에 샀었는데 그냥 네이버 최저가 35만 9천원에 산거랑 비슷하거나 좀 더 싸게 샀다. 해외직구로 사면 10만원 정도 더 싸게 살 수 있는데 국내 구매를 하게 된 이유는 AS가.. 2020. 5. 8.