전체 글 209

이미지 회전

회전시(반시계 방향)의 변환 매트릭스는 아래와 같다.이 매트릭스가 되는 이유는 아래와 같이 삼각함수로 설명이 가능하다.x좌표(1, 0)를 θ만큼 회전을 시키면 삼각함수 cosθ = x' / 1 과 sinθ = x' / 1  에 의해 x' = cosθ, sinθ 가 된다.y좌표(0, 1)를 θ만큼 회전을 시키면 삼각함수 sinθ = y' / 1(음수값이므로 -) 과 cosθ = y' / 1  에 의해 y' = -sinθ, cosθ 가 된다.여기에 회전후 좌표 이동까지 고려한다면 아래와 같다. 이에 상응하는 OpenCV 함수는 아래와 같고  리턴하는 매트릭스는 위의 2 x 3 의 형태가 된다. 위의 매트릭스를 이미지에 적용하는 함수는 warpAffine() 이다. 1. 일반 회전 cv::Mat image =..

opencv 2023.11.27

스캔문서의 기울기 알아보기 - 2

스캔문서의 기울기 알아보기 에서 라인을 통해 기울기를 알아 보았다. 이번 칼럼에서는 단락을 통해 기울기를 알아보는 방법을 살펴보자. 그레이 변환 ▶ B/W 변환 ▶ 문자를 흰색으로 변환 ▶ 문자(흰픽셀) 좌표만 Point배열에 저장 ▶ minAreaRect 함수를 통해 각도 확인 ▶ 각도 보정 이번에 사용할 이미지는 지난번 이미지에서 단락 부분만 떼어 내었다. 만약 전체 이미지를 사용하고자 한다면 단락간의 공간을 찾아내어 한 단락만 떼어내는 로직이 필요할 것이다. 1. 그레이 변환, B/W 변환, 문자를 흰색으로 변환 cv::Mat image = cv::imread("d:\\image.png"); cv::cvtColor(image, image, cv::COLOR_BGR2GRAY); cv::threshol..

opencv 2023.11.27

스캔문서의 기울기 알아보기

기울어진 스캔문서 이미지(칼라)가 아래와 같이 있을 경우, 문자인식등을 위해서는 기울기 보정을 해주어야 한다. 이번 기울기 보정의 흐름은 아래와 같다. 그레이 변환 ▶ B/W 변환 ▶ 문자를 흰색으로 변환 ▶ 문자를 두텁게 ▶ 라인을 검출 ▶ 라인의 기울기 평균 1. 그레이 변환, B/W 변환 cv::cvtColor(image, image, cv::COLOR_BGR2GRAY); cv::threshold(image, image, 100, 255, cv::THRESH_BINARY); 노이즈가 없는 샘플을 사용했기 때문에 위와 같이 간단한 Threshold함수를 사용하였다. 질이 나쁜 이미지를 사용한다면 노이즈제거, otsu 나 adaptive threshold 함수등을 사용해야 할 것 이다. 2. 문자를 흰..

opencv 2023.11.26

Sydney's public transport - How to get around Sydney

여행으로 브리즈번, 시드니를 갔던게 20년이 넘었네요. 그때는 모든걸 현찰로 해결했는데 강산이 2번 바뀌었으니 엄청 달라졌겠죠? 시드니의 다운타운은 걸어서 구경할 수 있는데 만약 Manly beach, Blue Mountains 에 가고자 한다면 버스, 기차를 타야하니 아래 유투브로 영어공부겸 알아 봅시다. ※ 그리고 요즘 물가가 너무 올랐으니 공공서비스 요금도 올랐을지 모르니 맨 밑의 사이트로 금액도 알아보시길... 사전지식: 일단 설명하는 이 청년은 https://imfree.tours/ 회사의 직원입니다. 시티투어 회사군요. OPAL CARD는 시드니가 포함되어 있는 New South Wales 주의 공식 교통카드 같군요. 공공에서 운영하는 버스, 메트로, 훼리등에서 사용할 수 있습니다. (사용지역..

youtube english 2023.11.26

Coffee ordering

해외 여행을 하다 보면 카페에서 커피를 주문할 기회가 많을 것이다. 유투브를 통해 네이티브가 사용하는 표현을 알아 보자. https://youtube.com/shorts/JjidS1hU8bE?si=yaqCZyn4-4M9EbeK Can I get a latte? I'll have a cappuccino. I'll take a mochaccino. I'd like a cappuccino. https://youtube.com/shorts/m0nKHBJeFEQ?si=Cm2bKMthg5GeFMp5 Can I order one large latte with oat milk? (부자연) Can I have a large oat latte? (자연스러움) ※ oat milk : oat 라는 밀로 만든 식물성 우유. h..

youtube english 2023.11.26

다친보(立ちんぼ) 사회 문제

호사카 유지 교수의 일본 성매매 문제에 관한 유투브 동영상 https://youtu.be/rYMpRDIkR-I?si=1ktbKy91NHW8LMbz 다친보(立ちんぼ) 라는 용어의 뜻을 검색해 보면 아래와 같이 정의 되어 있다. 일본식 영어조합 신조어인 호테헤루(호텔+헬스: 호텔로 매춘여성을 보내주는 서비스)나 데리헤루(딜리버리+헬스: 의뢰인의 집에 매춘여성을 보내주는 서비스) 등의 중개업체를 통하지 않고 노상에 서서 접근하는 남성과 매춘 교섭을 직접하는 여성을 의미하는 표현 최근 일본 국회에서도 다루는 사회 문제화 되었다. 딸은 호스트에 세뇌당해 버려졌다. 외상금지 조례를 요구하는 부모들 https://news.yahoo.co.jp/articles/86b04dca6d3d36ecca90984ae13923a5..

(opencv) 이미지 저장형태, 액서스

1. opencv에 있어서 이미지는 어떻게 저장되어 있을까?프로그램이 실행될 때 사용되는 메모리는 여러 영역으로 구분됩니다. 대표적으로, 일시적으로 사용하는 로컬 변수는 스택 메모리를 사용하며, new 연산자를 통해 동적으로 할당되는 메모리는 힙 메모리를 사용합니다. 스택 메모리는 일반적으로 1MB 정도로 제한되어 있어 대용량 데이터(예: 이미지)를 저장하기에는 적합하지 않으므로, 이러한 데이터는 힙 메모리에 저장해야 합니다. 이를 통해 스택 오버플로우 에러를 방지할 수 있습니다.OpenCV에는 Mat이라는 클래스가 있습니다. 이 클래스는 이미지의 정보(예: 너비, 높이, 타입 등)와 이미지 데이터가 저장된 힙 메모리의 주소를 저장하는 변수들을 포함하고 있습니다. Mat 변수를 단순히 선언할 경우, 이미..

opencv 2023.11.25

(opencv) Rectangle 간의 조작에 관해

cv:: findContours() 나 cv::connectedComponentsWithStats() 에 의한 오브젝트를 찾아서 rectangle로 표현하기도 한다.결함을 검출하는 시스템이라면 결함부분을 rectangle로 표시를 하는데 가까운 결함들은 통합하기도 하기때문에 도움이 되리라고 생각한다. 아래와 같이 두개의 cv::Rect 가 있을 경우,  A B 가 교차하고 있는지 확인cv::Rect rectA = cv::Rect(50, 50, 100, 50); cv::Rect rectB = cv::Rect(200, 80, 70, 50); if ((rectA & rectB).area() > 0)    // 붙어 있음 else    // 떨어져 있음2. A B 를 통합cv::Rect rectAB = rect..

opencv 2023.11.23

50 most useful American English phrasal verbs

https://www.youtube.com/watch?v=kVSLGXQd09k&t=944s 1. close down 사업, 조직, 시설등이 문닫다, 문을 닫게 하다. 사용법) 사람(회사) close down (시설, 사업 * 앞에 언급이 되었거나 명백할 경우에는 생략 가능) i.g) During the pandemic, there're many restaurants in my town they had to close down because they didn't have many customers. 2. wear down 지치다, 누군가를 지치게 하다. 사용법) 사람 wear down 사람, 원인 wear 사람 down i.g) Studying wore me down. 3. track down (노력을 들..

youtube english 2023.11.23

2025년 오사카 박람회 준비는 잘되고 있나?

1990년 이후, 일본은 저성장에 시달리고 있습니다. 특히 아베 신조 정권이 취임하면서 옛 화려했던 영광을 부활시키기 위한 노력이 시작되었습니다. 64년 도쿄 올림픽과 70년 오사카 만국박람회의 성공으로 미소를 지은 적이 있어, 이번에도 국제적인 이벤트로 옛 영광을 되살리려는 포부로 2020년 도쿄 올림픽과 2025년 오사카 박람회를 개최하게 되었습니다. 그러나 알다시피, 2020년 도쿄 올림픽은 팬데믹의 여파로 옛 영광의 재현이 물거품이 되었습니다. 그 후로 일본이 기대하고 있는 다음 큰 행사는 2025년 오사카 박람회입니다. 그렇다면 현재 박람회의 준비는 어떠한지, 소식은 좋은 편인가요? 하지만 현실은 아래 뉴스와 같이 좋은 소식이 들려오지 않고 있습니다. 박람회의 역풍 입헌민주당 "돈낭비의 온상" ..