전체 글48 [Python] 한 번에 파일명 넘버링 하기 이미지나 기타 파일 등을 다운받고 활용하다 보면 때때로 파일 이름을 번호순으로 나열해야 할 필요가 생깁니다. 특히 이미지 파일의 경우 머신러닝 할 때 매우 편리하므로 이를 적절히 활용할 수 있을까 하여 포스팅해봅니다. 소스코드 import os foler_path = "./folder/" #-- 파일이 저장된 폴더 경로 folderlist = os.listdir(foler_path) i = 1 for name in folderlist: src = os.path.join(foler_path, name) dst = '대표파일명' + str(i) + '.png' #-- 확장자의 경우 필요에 따라 변경할 것 dst = os.path.join(foler_path, dst) os.rename(src,dst) i +.. 2022. 2. 9. [Project] 영화 리뷰 데이터 감정분석&시각화 - 4. 빈도 분석 및 wordcloud 활용 영화 리뷰 데이터 분석의 마지막 단계로 리뷰에서 단어들만을 추출한 뒤, 빈도 분석과 wordcloud를 활용한 시각화를 진행해봅니다. 4.1 긍정, 부정 리뷰 키워드 분석 처음 전처리 과정을 거친 데이터 셋을 불러옵니다. (생략해도 무방) df_reviews 이전 레이블링한 긍정 리뷰와 부정 리뷰를 활용하기 위해 변수 선언으로 불러옵니다. pos_reviews = df_reviews[df_reviews['label'] == 1] neg_reviews = df_reviews[df_reviews['label'] == 0] 그다음 한글 형태소 분석을 위해 해당 리뷰들에서 한글 이외의 문자를 제거합니다. import re #-- 긍정 리뷰 pos_reviews['comment'] = pos_reviews['co.. 2022. 2. 9. [Project] 영화 리뷰 데이터 감정분석&시각화 - 3. 리뷰 통계 분석 이전 포스팅에서 웹크롤링을 통해 데이터를 얻을 수 있었습니다. 해당 데이터를 바탕으로 전처리 과정과 통계를 분석해보도록 합니다. 3.1 리뷰 데이터 탐색 df_data.info() 해당 코드를 통해 전체 리뷰 수를 확인합니다. 칼럼을 확인해보면 영화 제목(title), 평점(score), 리뷰(comment), 레이블(label)로 분류됨을 볼 수 있습니다. 리뷰를 보면 코멘트 없이 평점만 작성된 것도 있고 중복되는 부분도 있기 때문에 이러한 부분을 전처리 합니다. # 코멘트가 없는 리뷰 데이터(NaN) 제거 df_reviews = df_data.dropna() # 중복 리뷰 제거 df_reviews = df_reviews.drop_duplicates(['comment']) df_reviews.info(.. 2022. 2. 9. [Project] 영화 리뷰 데이터 감정분석&시각화 - 2. 웹페이지 크롤링 이전 포스팅에서 필요한 환경 구성은 모두 마쳤으며, 필요한 데이터를 웹사이트에서 크롤링하는 것까지 완료하였습니다. 이제 분석과 시각화에 앞서 필요한 데이터를 웹페이지에서 크롤링하도록 합니다. 2.1 영화 리뷰 사이트 크롤링 pip install beautifulsoup4 BeautifulSoup이 설치되어 있지 않다면, 해당 커맨드를 통해 설치를 완료합니다. from bs4 import BeautifulSoup import urllib.request f = open('./movie_reviews.txt', 'w', encoding='UTF-8') #-- 500페이지까지 크롤링 for no in range(1, 501): url = 'https://movie.naver.com/movie/point/af/l.. 2022. 2. 9. [Project] 영화 리뷰 데이터 감정분석&시각화 - 1. 라이브러리(KoNLPy, wordcloud) 설치 이번 프로젝트는 웹사이트의 영화 리뷰 데이터를 크롤링 해서 분석 및 시각화해보도록 합니다. 개발 언어는 python-3.8을 활용하였고 jupyter notebook 환경에서 실시하였습니다. 프로젝트에 앞서 필요한 라이브러리 설치를 먼저 실시해보도록 하겠습니다. 1.1 라이브러리 및 툴 설치 코드를 작성하는데 앞서 필요한 라이브러리와 툴을 설치하도록 한다. (1) KoNLPy 한국어 정보처리를 위해 필요한 python 패키지로 자연어처리에서 형태소를 분리하기위해 필요한 한국어 데이터 전처리 패키지 입니다. KoNLPy는 자바VM 환경에서 동작하므로 JDK와 JPype 또한 설치가 필요합니다. (일반적인 pip 커맨드로 설치시 오류 발생) a. java JDK 설치 https://www.oracle.com.. 2022. 2. 9. [OpenCV] cvlib 영상 인물 얼굴 모자이크 이전 포스팅에서 cvlib을 활용해 이미지 속 인물들의 얼굴을 모자이크 처리하였습니다. 이번엔 영상에서 인물들의 얼굴을 모자이크 하는 테스트를 실시해 보겠습니다. 소스코드 import cvlib as cv import cv2 vedio_path = '/vedio.mp4' #-- 동영상 경로 입력 #-- 웹캠 사용 webcam = cv2.VideoCapture(vedio_path) #-- 웹캠 사용시 vedio_path 대신 0 입력 if not webcam.isOpened(): print("Could not open webcam") exit() while webcam.isOpened(): #-- 프레임 읽어들이기 status, frame = webcam.read() if not status: print(.. 2022. 2. 7. [OpenCV] cvlib 이미지 인물 얼굴 모자이크 OpenCV를 활용하여 이미지 속 인물들의 얼굴을 모자이크 합니다. 먼저, 사용될 라이브러리로는 OpenCV와 더불어 cvlib을 사용할 것입니다. cvlib은 객체인식에 용이한 라이브러리로 tensorflow와 OpenCV가 함께 설치되어 있어야만 설치가 가능하므로 설치 전 라이브러리 설치 유무를 잘 확인해야 합니다. pip install opencv-python tensorflow pip install cvlib 1. 얼굴인식 얼굴 모자이크 처리에 앞서 먼저 cvlib 라이브러리의 detect_face를 통해 이미지 속 인물의 얼굴을 인식하는 것을 테스트합니다. 하단 소스 코드를 통해 테스트를 진행해 보겠습니다. import cv2 import cvlib as cv img_path = '/img.jp.. 2022. 2. 7. [YOLO] 영상 객체 인식 컴퓨터 비전 혹은 머신러닝 등을 공부하면 한 번쯤 접하게 되는 yolo OpenCV를 활용하여 yolo 포맷을 이용해 영상 속 객체 인식 테스트를 진행해보기로 하겠습니다. 추가적으로 OpenCV cuda를 빌드하여 GPU를 적용시켰으며 이에 대한 빌드는 하단 링크를 참조하면 되겠습니다. https://prlabhotelshoe.tistory.com/24?category=1004669 [CUDA&OpenCV] Python 환경 OpenCV GPU 연동 (CUDA backend in OpenCV) - 1. 파일 설치 컴퓨터 비전 등을 공부할 때 자주 접하게 되는 OpenCV 이에 대한 여러 블로그나 기타 웹에서 샘플 코드를 학습할 때, GPU와의 연동으로 빠른 처리를 시도해 볼 수 있으며 간단한 코드 작성으.. 2022. 2. 4. [Project] LenticularLens를 활용한 입체 사진 제작 - 2. 렌티큘러 이미지 제작 이전 포스팅에서 부족하겠지만 대략적인 이론을 설명하였고 이제 렌즈에 사용될 특별한 이미지 제작을 시작하기로 합니다. 렌티큘러 렌즈의 특성에서 알 수 있듯 두 개 혹은 여러 개의 이미지를 사용해 시선에 따라 다른 이미지가 보이도록 해야 하므로 두 개 이상의 이미지를 여려 조각으로 잘라 교차로 배열되도록 합니다. 2.1 프로그래밍 계획 곡면의 렌즈에 의해 이미지가 굴절되어 우리 눈에 서로 다른 상이 맺히게 되는데, 그림과 같이 잘려진 두 이미지를 교차로 붙여 특별한 이미지를 제작하려 합니다. python을 활용하여 전체적인 코드를 작성하고, tkinter 라이브러리를 통해 간단한 gui를 제작해서 사용을 간편하게 하도록 구성하였습니다. 2.2 코드 작성 import os import tkinter.ttk a.. 2022. 2. 4. 이전 1 2 3 4 5 6 다음 반응형