
[영상처리] 알파 블렌딩(Alpha Blending)이란? (OpenCV-python)알파 블렌딩(Alpha Blending)이란?두 개의 영상을 합성할 때, 일반적으로 생각할 수 있는 방법은 더하기 연산이다. 그러나 일반적인 덧셈으로는 픽셀값이 255를 넘어가면 overflow가 발생하거나, 255로 고정이 되는데 이렇게 되면 원하는 결과를 얻기가 힘들다. 그래서 두 영상에 가중치를 주어 더하는 방식이 알파 블렌딩이다.g(x)=(1−α)f0(x)+αf1(x)g(x) = (1-\alpha)f_0(x)+\alpha f_1(x)g(x)=(1−α)f0(x)+αf1(x)위의 수식대로 f1의 영상에 가중치 α\alphaα를 곱하고, 다른 영상 f0에는 1−α1-\alpha1−α 를 곱한다. Opencv ..

[영상처리] 적응형 Treshold (OpenCV)적응형 Threshold란?지난 게시물에서 otsu algorithm(thresholding) 에 대해 알아봤다. 이는 하나의 고정된 값으로 thresholding 하는 것인데, 영상의 조명이 일정하지 않거나 배경색이 여러가지인 경우에는 하나의 고정된 threshold로는 좋은 결과를 얻지 못한다. 그래서 이미지를 여러 영역으로 나눈 후에 그 주변 픽셀 값을 기준으로 계산하여 영역마다의 threshold를 지정한다. 이것을 적응형 threshold(Adaptive threshold)라고 한다. OpenCV에서 제공하는 Adaptive Thresholdcv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresh..

[영상처리] 오츠의 알고리즘(Otsu Algorithm, Thresholding)오츠의 알고리즘이란?어떤 영상을 thresholding 하고 싶을 때, 적정한 threshold 값을 찾아주는 알고리즘을 말한다. 방법은 경게값을 임의로 정해서 픽셀들을 두 부류로 나누고 두 부류의 명암 분포를 반복해서 구한 다음 두 부류의 명암 분포를 가장 균일하게 하는 경게 값을 선택한다. 다시말해, 특정 threshold를 T라 하면, T를 기준으로 이진 분류된 픽셀의 비율의 차가 가장 작은 optimal T를 구하는 것이다.오츠 알고리즘은 모든 threshold에 대해 계산해야 하기 때문에 속도가 느리다는 단점이 있다. 또한 노이즈가 많은 영상에는 오츠의 알고리즘을 적용해도 좋은 결과를 얻지 못하는 경우가 있다.코드p..

Notion에서 Tistory로 자동 업로드 #7 (selenium으로 페이지 자동 다운로드)개요잠깐 지난번까지 해왔던 것들을 정리해 보겠습니다. 빨간 부분은 이번에 알아 볼 방법입니다.notion-py모듈을 이용해서 발행할 페이지 탐색발행할 페이지를 자동으로 다운로드(html export)다운로드 한 html을 parsing하여 notion style에 맞게 수정tistory api를 이용하여 위 3번의 페이지를 tistory에 업로드 이번에는 1번을 활용해서 발행할 페이지만 골라서 다운로드 하는 방법을 알아보겠습니다. selenium이라는 python 모듈을 이용하여 해당 페이지에 각각 접속하여 다운로드 해보겠습니다. 일단 여기를 클릭하여 selenium을 사용할 수 있도록, chromedriver를..
[Python] Selenium을 크롬 창 없이 실행하기(background에서 실행하기)개요지난 게시물에서 selenium을 사용하는 방법을 알아보았습니다.보통 selenium으로 크롤링을 하거나 인터넷으로 하는 단순 반복 작업을 하게 됩니다. 이럴 때에 처음에는 잘 동작하는지 눈으로 확인하곤 하지만, 정상 동작한다면 굳이 크롬 창을 띄워서 확인하고 싶지 않은 경우가 있을 텐데요. 이때 background에서 selenium을 실행하는 방법을 알아 보겠습니다.방법selenium으로 chrome driver를 실행할 때 옵션을 주면 됩니다. 코드로 확인해 보겠습니다.from selenium import webdriver # 옵션 생성 options = webdriver.ChromeOptions() # 창..

[Python] Selenium을 이용하여 인터넷 사용하기(크롤링, 로그인 등)❓Selenium이란?python의 한 모듈로 인터넷을 자유롭게 조작할 수 있도록 만들어진 라이브러리입니다. 이 기능을 이용해서 인터넷 업무를 자동화하거나, 인터넷의 자료들을 크롤링 하는 등 다양한 방법으로 활용할 수 있습니다. 👨💻 selenium 설치python이 설치되어 있다고 가정하고 진행하겠습니다.설치는 간단하게 pip으로 진행하겠습니다. 아주 간단하죠?$ pip3 install selenium🖨️ 크롬 드라이버 다운로드selenium을 사용하기 위해선 브라우저가 필요합니다. safari, chrome 등 다양한 브라우저를 지원하지만 가장 안정적인 크롬을 사용하겠습니다. 크롬을 사용하기 위해 크롬 드라이버를 먼저 다..

Notion에서 Tistory로 자동 업로드 #6 (notion property 자동 수정)목표이번에는 notion table의 상태 property를 확인해서 발행준비 완료로 되어있는 페이지를 탐색해서 어떤 페이지를 업로드 할 건지 찾아주는 것과 업로드가 완료 되었다면 카테고리를 발행준비 완료에서 발행완료로 변경하는 방법을 알아보겠습니다.Notion table property 예시업로드 할 페이지 찾기지난번에 카테고리 id를 찾기 위해 notion-py모듈을 사용한 것처럼 이번에도 같은 방법으로 사용하겠습니다.이번에는 상태라는 property를 체크해서 발행준비 완료인 page들을 반환하는 함수를 작성해 보겠습니다.(이때 한글로 상태라는 property 명은 notion-py에서 자동으로 sangtae..

Notion에서 Tistory로 자동 업로드 #5 (tistory 카테고리 id를 notion table에서 가져오기)개요티스토리 블로그 카테고리 id 가져오기파이썬에서 requests로 가져오기notion-py를 이용해서 발행할 게시물(페이지)의 카테고리 이름 찾기notion table property 세팅notion-py 모듈로 가져오기다음 할 일개요지난 번엔 티스토리 블로그에 자체 CSS를 적용하여 노션에서 제공하는 style처럼 보이게 만들었습니다. 이번에는 게시물을 업로드 할 때 어떤 카테고리에 올릴 지 티스토리 API를 사용하여 원하는 카테고리 id를 가져오는 방법을 알아보겠습니다.티스토리 블로그 카테고리 id 가져오기아래 링크는 티스토리에서 제공하는 공식 API 설명입니다. 그 중에서 카테고..
Notion에서 Tistory로 자동 업로드 #4 (notion css style 적용)개요지난 번에 notion page를 html형태로 export하여 python으로 parsing하고 tistory API로 직접 업로드까지 해보았습니다. 이번에는 notion CSS를 적용하여 블로그에서도 노션과 같은 style로 보이게 수정해보겠습니다.CSS 수정하기아래는 notion page를 html export한 파일을 열었을 때의 소스 입니다. 태그 안에 여러가지 css가 적혀 있는데요, 이를 티스토리 블로그에 그대로 가져가면 적용이 됩니다. 하지만, 기존 tistory에 있는 style과 notion에서 export한 html의 style(css)이 겹쳐서 실제로는 원하지 않는 style이 적용 될 수 있..
notion-py를 사용하여 내 노션 페이지 자동화 하는 방법(읽기, 쓰기, 수정하기)notion-py란?python을 이용해서 비공식적으로 notion에 대한 api를 지원하는 패키지이다.아래 링크에서 자세한 설명을 확인할 수 있다.jamalex/notion-pyUnofficial Python 3 client for Notion.so API v3.https://github.com/jamalex/notion-py 사용 방법notion-py 패키지 설치우선 notion-py 패키지를 설치한다. (패키지명이 notion입니다.)pip3 install notion notion token 값 얻기해당 패키지를 사용하려면 개인의 token값이 필요하다. 아무나 내 페이지를 접근하면 안되기 때문이다.우선 인터넷에서..
- Total
- Today
- Yesterday