전체 글 424

[도서 실습] Qt 5 and OpenCV 4 Computer Vision - The Facetious Application 01 (사진 찍기)

안녕하세요.  이번에 챕터에서 진행되는 내용은 실시간으로 얼굴을 인식해서 마스크를 씌우는 프로그램을 만드는 것으로 진행됩니다. 프로그램의 기본 형틀은 앞에서 만든 GazerW를 기반으로 해서 레코딩과 모션 감지 부분을 제거하고 얼굴 인식하는 기능을 넣어서 작동하게 하는 것입니다.  1. 프로그램 틀 만들기 1) 폴더 내 수정   - GazerW 마지막 버전의 프로젝트 폴더를 복사해서 Facetious로 변경합니다. 이 글에서는 첫 번째 하는 것이라. Facetious_day1로 변경하였습니다.   - GazerW.pro 파일을 FacetiousW.pro로 변경합니다. 책 내용에서는 여러 가지를 내용을 수정해주어야 하지만, 폴더와 pro 파일에서는 현재 Windows 버전의 Qt에서는 크게 진행할 내용이 ..

Programming/Qt 2024.04.28

[독서후기] 개인의 시대가 온다

1. 책 선택 이유​ 직장을 퇴사해도 계속 일을 하고 싶은데 어떻게 해야 하나 프리랜서로도 가능할까라는 생각도 들고 아시는 분도 프리랜서로 개발한다고 들어서, 실제 생활은 어떨까 해서 읽어보았습니다.  2. 간략한 내용 소개  5년 차 프리랜서 작가의 현실 분투기출근시간에 구애받지 않고 느긋하게 일어나 브런치를 먹는다. 정갈한 테이블에 따뜻한 커피 한 잔을 올려놓고, 좋아하는 음악을 들으며 자신만의 작업에 집중한다. 쉬고 싶을 때 쉬고, 사람을 만나고 싶을 때 만난다. 가끔은 새로운 기분으로 카페에 가서 일하기도 한다. ​적당한 일거리와 휴식, 많은 사람들이 꿈꾸는 프리랜서 생활이다. 하지만 현실은 기대와 조금 다르다. 말이 좋아 프리랜서지 일이 없으면 백수나 다름없다. 실제 프리랜서 생활은 어떨까?​ ..

Book Report 2024.04.27

샤오미 비버드(bebird) Note 3 사용후기

안녕하세요.   최근에 귀속을 청소해도 개운하지 않다는 느낌을 받았습니다. 뭐라고 할까 막혀있다는 느낌. 그래서 귀속을 볼 수 있는 카메라와 청소해 주는 도구가 합쳐있는 제품이 있으면 좋겠다 생각했습니다. 예전에 일본에서 15만 원 정도 되는 제품을 보았지만, 판매하는 곳을 찾지 못해서 사지 못했습니다.  이번에 중국 회사에서 귀속을 볼 수 있고 집게까지 달린 제품이 있다고 해서 다른 분들 후기 보고 구매했습니다. 사실 괜찮을까 생각했는데, 괜찮았습니다.  1. bebird Note 3 제품 구성   중국 내수용인지는 모르겠으나 박스에서부터 설명서까지 중국어로 되어있습니다. 그러나 케이스 디자인부터 가격 대비 깔끔하다는 인상을 받았습니다.  구성품은 본체, 충전기 겸 여러 모양의 귀 청소 담는 통(정확한..

아두이노를 이용한 가스센서 9종 테스트 (Gas Sensor Kit)

안녕하세요.  간단하게 연기 검출을 테스트하기 위해서 저렴한 센서들을 이용해 보았습니다. 센서 키트 구매하면 플라스틱 케이스에 9개 담겨 옵니다. 그리고 가스에 대해서 조금 이해가 있어야 조금 더 잘 사용할 것 같아서 찾아본 자료를 공유해 보도록 하겠습니다.    1. 가스 분류  - 크게 5가지로 나눠 볼 수 있습니다.  1) 가연성 가스 : 공기 중에 산소와 반응하여 연소하는 가스 (LNG, LPG, CH₄, H₂, i-C₄H10, etc) 2) 독 성 가스 : 인체 허용 농도(TLV) 기준의 유독 가스 (NH3, CO, CL₂, COCL₂, VCM, etc) 3) 불활성 가스 : 분자 구조가 안정되어 있어 화학반응을 하지 않는 가스 (He, Ar, Ne, etc)  4) 조연성 가스 : 연소하는 것..

Embedded/Arduino 2024.04.25

[도서 실습] Qt 5 and OpenCV 4 Computer Vision – The GazerW Application (Motion detection, 움직임 감지)

안녕하세요. 프레임 저장 기능까지 했다면 이제는 영상에서 움직임이 발생하면 감지하고 감지되었을 때 녹화까지 하는 기능을 추가해 보겠습니다. 여기서 감지는 OpenCV에서 제공해 주는 함수로 진행할 예정입니다. 1. 구현 방법 보통 모션 감지는 background와 foreground 이미지를 segmentation(영상 분할) 해서 사용합니다. 그렇기 때문에 우리가 예측할 수 있는 것은 카메라의 background 이미지는 정적일 것이고, 프레임의 변화가 없을 것입니다. 그리고, 연속적인 foreground 프레임을 추출하고 그 속에서 물체들을 찾아내는 방식을 이용합니다. 그러나 이러한 추측은 현실에는 힘들 수 있습니다. 왜냐하면 태양이 뜨고, 지고, 그림자가 나타나는 부분도 감지가 되기 때문입니다. 상..

Programming/Qt 2024.04.24

인공지능 스마트 팩토리 교육 2일 교육 중 1일 차 후기

안녕하세요. 이번에 인공지능협회에서 인공지능 온라인 무료 교육이 있어 수강한 내용을 간략하게 내용 정리 및 후기를 공유합니다. 실제 강의제목은 “스마트 공장을 위한 제조 지능화 혁신과 AI 빅데이터”입니다. 두꺼운 교재를 며칠 전에 택배로 전달해 줍니다. 책 두께를 보고 이틀 안에 가능할지 생각부터 들었습니다. 그러나 결론적으로 말하자면 가능은 했습니다. PPT 1페이지 단위로 인쇄되어 있고 결과도 한 페이지씩 캡처되어 있어 빠르게 넘어갑니다. 강사님이 반도체 분야에 계셨던 분이라서 그쪽 분야에서 제조 데이터 분석 내용 중심으로 설명해 주었습니다. 그리고 아래 내용은 전체 내용 요약이라기보다는 목차로 생각하셔서 이렇게 되는구나 생각하시고 보시면 어떨까 합니다. 1일 차 오전 교육 내용 1. 들어가기 내용..

[도서 실습] Qt5 and OpenCV4 Computer Vision – The GazerW Application (영상 녹화하기, 썸네일)

안녕하세요. 이전 내용은 카메라에 접근하고 정보를 얻고 실제 영상을 재생방법에 대해 알아보았습니다. 이번에는 영상을 어떻게 녹화하는지 확인해 보겠습니다. 단순한 방법으로는 카메라로부터 영상을 캡처하는 동안, 매 프레임을 압축해서 영상파일에 기록하는 것입니다. OpenCV에 포함된 videoio module의 VideoWriter Class에서 이런 간단한 기능을 제공합니다. 1. Utilities Class 파일 생성 파일 저장 경로와 이름을 자동으로 생성될 수 있게 클래스 하나를 만듭니다. 실제 코드 부분만 공유하였고, 해더 파일이나 중복된 부분은 생략했습니다. 부족한 부분은 첨부한 파일을 확인하면 됩니다. - 함수선언을 보면 폴더 경로를 가져오고, 파일 이름 생성하고, 파일 이름에 확장자를 붙여 절대..

Programming/Qt 2024.04.21

아두이노(Arduino) Flex Sensor 2.2 (SEN-10264) 테스트

안녕하세요. 휘어짐 정도를 확인해 볼 수 있는 센서를 테스트해 보도록 하겠습니다. 플렉스 센서라고도 하고 밴드 센서라고도 합니다. 구매하기 전에는 폴더처럼 확 접히면 어떻게 될까 궁금했는데, 테스트해 보면서 느낀 것은 그렇게 하면 고장 난다입니다. 적당하게 휘어짐 정도를 확인할 수 있다고 보셔야 합니다. ^^ 1. Flex/bend Sensor 원리 A flex sensor is a kind of sensor which is used to measure the amount of defection otherwise bending. The designing of this sensor can be done by using materials like plastic and carbon. The carbon sur..

Embedded/Arduino 2024.04.20

[도서 실습] Qt 5 and OpenCV 4 Computer Vision – The GazerW Application (FPS 계산하기)

안녕하세요. FPS라고 하면 게임에서 많이 볼 단어이지만 영상에 처리 많이 사용하는 용어이기도 합니다. 그래서 간단하게 정의를 찾아보고 테스트해 보겠습니다. 1. FPS란 동영상을 물리적으로 환원하면 시간상 연속된 정지 사진들의 모음으로 볼 수 있는데, 이 각각의 정지 사진 하나를 '프레임'이라 부른다. 이런 사진 토막들이 1초에 몇 장 보이느냐, 즉 프레임이 보이는 속도를 가리켜 'Frame Rate', 우리말로 옮기면 프레임률이라 하며, 단위로는 'fps' 혹은 국제 표준인 'Hz'를 쓴다. 간혹 모니터 주사율(refresh rate)과 헷갈리는 일이 있는데, 이는 단위가 같지만 완전히 별개의 개념이다. 모니터 주사율의 단위는 'Hz'로 표기하고, '화면 재생 빈도'라고 하며 모니터가 그래픽 카드에서..

Programming/Qt 2024.04.19

[독서후기] 스마트 소셜시대, 어떻게 창업할 것인가

1. 책 선택 이유 창업이라는 단어는 어떻게 보면 희망과 유사 의미를 가지고 있지 않나 합니다. 자신이 생각하는 일을 해보고자 하는, 무언가를 이루고자 하는, 성공을 기대하게 하는 단어가 아닐까 합니다. 그리고 지금은 네트워크 시대이기도 하다 보니 그럼 이것을 어떻게 이용해야 하나 방법을 알고 싶어서 읽게 되었습니다. 2. 간략한 내용 소개 소셜커머스부터 소셜다이닝, 소셜데이팅, 소셜 네트워크 게임 등 스마트폰과 인터넷만 사용할 줄 알면 누구나 누릴 수 있는 소셜 월드는 나날이 영역을 넓혀가고 있다. 사람들은 이제 소셜 월드에서 관계를 맺고 여가를 즐기며 소통을 한다. 비즈니스에서도 마찬가지다. 소셜 월드에 익숙한 젊은 창업자들은 고객을 찾고 연결하는 데 소셜 네트워크를 적극적으로 활용하고 있다. 어느 ..

Book Report 2024.04.18

UPS(BX950MI-GR)와 NAS(DS423+) 연동하기

안녕하세요. NAS도 그렇지만 일반 컴퓨터의 하드디스크는 하드디스크 Write 중 갑자기 정전 등으로 멈출 경우 고장원인 중 하나가 될 수 있습니다. 그래서 정상적으로 종료하는 것을 권장하고 있습니다. NAS 역시 데이터를 저장 및 보관에 초점을 두고 있기 때문에 안정성이 무척 중요한 장비입니다. 그래서 UPS를 장착해서 전원에 인한 문제를 줄이는 방법을 확인해 보았습니다. 많은 제품을 사용해보지 않아서 비교할 수는 없지만, UPS에서 정전이 되었을 때 Synology에게 신호를 전달해서 자동으로 종료할 수 있는 저렴한 제품을 찾아보았습니다. 1. APC의 UPS 제품 확인 제품은 BX950MI-GR(520W) 무정전 전원 공급 UPS로 테스트하였습니다. 사이트에 들어가면 사용하는 UPS에 연결할 제품의..

IT 2024.04.17

작은 기부 문화 만들기 3 - " 독립 영웅 후손, 남은 건 무거운 삶의 무게"

안녕하세요. 3.1 절은 지났지만, 역사 관련 공부를 하다 보니, 이렇게 감사하게 살고 있는 것들이 이전 독립영웅들과 그 이전 나라를 위해 목숨을 까지도 내어 놓으며 나라를 수호해 주셨던 분들이 계셨기 때문이라고 다시 한번 생각이 들었습니다. 그리고 중요한 것은 그분들이 목숨까지 바쳐 지켜주셨는데, 우리가 그분들의 후손을 지켜주지 못한다면 이다음 그 누가 이 나라를 위해서 목숨 바쳐 지키겠습니까?라는 질문에 눈물이 났습니다. 그래서 이번에는 달도 작지만 독립 영웅 후손 분들에게 기부하였습니다. 1. 모금함 소개 죽는 순간까지 당당했던 윤봉길 의사 1932년 4월 29일, 상하이 훙커우 공원에서 열린 일본 전승 행사장에서 폭발음이 울려 퍼졌습니다. 윤봉길 의사가 던진 물통 폭탄으로 현장에 모여 있던 일본군..

인공지능 미래산업 활용 무료교육 후기 (2일 차)

안녕하세요. 아래의 내용은 시간이 조금 지나서 이미지와 기능이 조금 다를 수 있습니다. 2일 차는 AIIT라는 모듈 조립과 크롤링, 학습모델 실습 위주로 되어 있어서 나누지 않고 하나의 글로 적어보겠습니다. 1. 1교시(아나콘다(Anaconda.com) 환경 구축) - 이전 내용에서 AI가 학습을 위한 사전작업이 필요한데 그중에 객체를 인식시켜 주시기 위한 자료를 만들어 주어야 합니다. 먼저 라벨링 작업이라고 해서 인식하고자 하는 이미지에 박스를 그려서 그 안에 있는 것이 어떤 것인지 알려주는 데이터를 만드는 작업을 합니다. 그러기 위해서 몇 가지 라이브러리와 파이썬이 작동할 수 있는 환경을 만들어야 합니다. 1) 아나콘다(Anaconda) 설치 - 가상 개발환경으로 한 대의 PC에 여러 개의 버전의 툴..

Arduino Nano IoT 33 Bootloader blocked 된 경우 MKR ZERO로 살리기(실패)

안녕하세요. 이전 "Arduino Nano IoT 33 Bootloader blocked 된 경우 J-LINK로 살리기"에서 성공을 해서 MKR ZERO로도 가능할 거라 생각하고 참고 삼아해 봐야지 했는데, 결론은 이상한 에러를 발생시키고는 업로드가 되지 않았습니다. Arduino Nano 33 IoT Bootloader blocked 된 경우 J-LINK EDU로 벽돌된 것 살리기 (성공후기) 안녕하세요. 지난번에도 아두이노 나노 IoT 33 보드 살리는 법을 공유드렸습니다. 그런데 그때는 직접 하지 않고 자료만 가지고 가능하다는 것만 알려드렸습니다. 그래서 이번에는 직접 blocked 된 remnant24c1.tistory.com 그렇지만 이렇게 공유하는 이유는 작업하는 방법과 이후에 문의글에 답변이..

Embedded/Arduino 2024.04.13

공유기 내부망에서 DDNS 접속 안될 때(NAT Lookback 미지원) 해결하기 (Synology NAS에 DNS 서버 설치로 해결하기)

만약 내부망에 있는 서버를 DDNS와 연동해서 사용하고 있다면 다른 외부망에서 접속할 때는 문제는 없을 것입니다. 그런데 같은 내부망에서 도메인(Domain)으로 접속하면 연결이 되지 않는 경우가 발생합니다. 사설 공유기 같은 경우 NAS Loopback을 지원해 주기 때문에 특별하게 문제가 없다고 합니다. 그러나 통신사 자체적으로 제공해 주는 공유기 경우 이 기능을 제공해주지 않는 경우가 있다고 합니다. SK 공유기를 사용하고 있는데 이 기능이 되지 않아서 내부망과 외부망으로 별도의 주소로 운영해야 하나 했는데, NAS에 Domain Server를 운영해서 처리가 가능하다고 해서 확인해 보았습니다. 선행되어야 하는 것은 DDNS를 설정이 되어 있어야 하는 것입니다. 1. DNS Server 설치 메인 ..

IT 2024.04.12

[도서 실습] Qt 5 and OpenCV 4 Computer Vision – The GazerW Application (Thread를 이용한 카메라 영상 출력)

안녕하세요. 이번 내용은 Thread를 이용해서 카메라 영상을 GUI 멈춤 현상 없이 출력하는 것입니다. 단순하게 OpenCV 기능으로 카메라 객체를 불러와서 ESC 키를 누르기 전까지 프레임을 화면에 재생하는 기능을 만들 수도 있습니다. 그러나 그렇게 하면 단순기능은 되지만, GUI 화면이 멈추는(freeze) 현상이 발생합니다. 그래서 GUI가 실행하는 Thread에 재생과 녹화를 소스를 포함하는 것이 아니라, 별도의 스레드(Thread)를 만들어 재생, 녹화하는 것을 동작하게 하는 것입니다. 1. 클래스 생성 - 기존의 GazerW_Day2 소스에서 추가해서 작업을 진행합니다. - GazerW 프로젝트에서 오른쪽 마우스를 클릭해서 "Add New..." 그리고 class 추가를 눌러서 Capture..

Programming/Qt 2024.04.11

Synology NAS DS423+ 개봉기

안녕하세요. 사내 코드관리를 위해 DS423+ 16TB NAS를 구매하였습니다. 스펙 혹은 DS923+ 비교 내용은 아래 영상을 참고하시면 좀 더 도움이 될 것으로 생각됩니다. [시놀로지 NAS DS423+ 상세리뷰! ] DS923+ 와 비교하면 가성비 좋은가?? https://www.youtube.com/watch?v=0ZF2X6J8UqY 1. 개봉 전 정품을 구매하면 아래와 같이 박스에 왔습니다. 박스를 그냥 버리지 마시고, 상단의 정품인증 스티커 부분을 뜯어내어 NAS본체에 붙이는 작업을 합니다. 그리고 할 수 있다면, AS를 위해 박스보관하는 것도 나쁘지 않을 것 같습니다. 2. 구성품 본체는 포장지로 잘 덮여 있습니다. 본체, 매뉴얼 전원 어댑터 및 , 랜 케이블 2개, 나사, 플라스틱 키 가 ..

IT 2024.04.10