강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yongjingim172478
yongjingim172478

câu hỏi đã được viết

[OpenCV] Dự án xử lý ảnh deep learning Python - Tìm Son Heung-min!

Haar GUI강의중 에러

Đã giải quyết

Viết

·

721

0

바로  Haar의 첫번쨰 강의인 이전강의는 잘 돌아갔습니다.

그리고 물론 TK인터를 사용하는 데이터시각화강의에서도 모든 예제가 잘 돌아갔습니다.

그런데 2번째는 pyimage5를 찾을수 없다면서 에러가 뜹니다. 

왜그런걸까요?  도저히 못잡겠네요

tensorflowkeras컴퓨터-비전opencv머신러닝 배워볼래요? 딥러닝

Câu trả lời 4

0

nomad님의 프로필 이미지
nomad
Người chia sẻ kiến thức

안녕하세요?

문제가 해결되었다니 다행입니다.

저도 가끔 아주 사소한 문제로 고생하는 경우가 있습니다.

당시는 힘들어도 나중에는 도움이 되더라고요.

수업에서 좋은 내용 배우시길 기원합니다.

감사합니다.

0

yongjingim172478님의 프로필 이미지
yongjingim172478
Người đặt câu hỏi

답변감사드립니다.

문제는 정말 사소한거였습니다.

jupyter notebook이 실행되고있을때 Home에 image파일을 추가했었는데

그게 jupyter노트북을 끄고  다시 켜니 이 파일을 이제서야 인식합니다.

home에 파일을 추가하면 다시 노트를 껐다켜야 home에 추가한 파일을 프로그램이 인식하나봅니다.

이런 사소한문제때문에 몇시간을 해매서 그런지 앞으로의 단계들이 멀게만 느껴집니다.

수업 잘듣고있습니다. 감사합니다

0

nomad님의 프로필 이미지
nomad
Người chia sẻ kiến thức

안녕하세요?

에러 메시지만 봐서는 print('File name : ', file_name)도 실행이 안되는 것을 보니 이미지를 못가지고 올 수도 있을 것 같은데 './image'폴더와 'marathon_01.jpg'파일이 존재하는지 먼저 확인해보세요. 

감사합니다.

0

yongjingim172478님의 프로필 이미지
yongjingim172478
Người đặt câu hỏi

import cv2

import numpy as np

from tkinter import *

from PIL import Image

from PIL import ImageTk

#새로운 팩

from tkinter import filedialog

face_cascade_name = './cv2/data/haarcascade_frontalface_alt.xml'

eyes_cascade_name = './cv2/data/haarcascade_eye_tree_eyeglasses.xml'

file_name = './image/marathon_01.jpg'

title_name = 'Haar cascade object detection'

frame_width = 500

#frame 크기를 바꾸면서 활용

def selectFile():

    file_name =  filedialog.askopenfilename(initialdir = "./image",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))

    print('File name : ', file_name)

    read_image = cv2.imread(file_name)

    (height, width) = read_image.shape[:2]

    frameSize = int(sizeSpin.get())

    ratio = frameSize / width

    dimension = (frameSize, int(height * ratio))

    read_image = cv2.resize(read_image, dimension, interpolation = cv2.INTER_AREA)

    image = cv2.cvtColor(read_image, cv2.COLOR_BGR2RGB)

    image = Image.fromarray(image)

    imgtk = ImageTk.PhotoImage(image=image)

    detectAndDisplay(read_image)

    

def detectAndDisplay(frame):

    frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    frame_gray = cv2.equalizeHist(frame_gray)

    #-- Detect faces

    faces = face_cascade.detectMultiScale(frame_gray)

    for (x,y,w,h) in faces:

        

        center = (x + w//2, y + h//2)

        frame = cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 4)

        faceROI = frame_gray[y:y+h,x:x+w]

        #-- In each face, detect eyes

        eyes = eyes_cascade.detectMultiScale(faceROI)

        for (x2,y2,w2,h2) in eyes:

            eye_center = (x + x2 + w2//2, y + y2 + h2//2)

            radius = int(round((w2 + h2)*0.25))

            frame = cv2.circle(frame, eye_center, radius, (255, 0, 0 ), 4)

    #cv2.imshow('Capture - Face detection', frame)

    image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    image = Image.fromarray(image)

    imgtk = ImageTk.PhotoImage(image=image)

    detection.config(image=imgtk)

    detection.image = imgtk

    

#main

main = Tk()

main.title(title_name)

main.geometry()

read_image = cv2.imread("./image/marathon_01.jpg")

(height, width) = read_image.shape[:2]

ratio = frame_width / width

dimension = (frame_width, int(height * ratio))

read_image = cv2.resize(read_image, dimension, interpolation = cv2.INTER_AREA)

image = cv2.cvtColor(read_image, cv2.COLOR_BGR2RGB)

#bgr을 RGB로 바꿔준다. 

image = Image.fromarray(image)

imgtk = ImageTk.PhotoImage(image=image) 

face_cascade_name = './cv2/data/haarcascade_frontalface_alt.xml'

eyes_cascade_name = './cv2/data/haarcascade_eye_tree_eyeglasses.xml'

face_cascade = cv2.CascadeClassifier()

eyes_cascade = cv2.CascadeClassifier()

#-- 1. Load the cascades

if not face_cascade.load(cv2.samples.findFile(face_cascade_name)):

    print('--(!)Error loading face cascade')

    exit(0)

if not eyes_cascade.load(cv2.samples.findFile(eyes_cascade_name)):

    print('--(!)Error loading eyes cascade')

    exit(0)

label=Label(main, text=title_name)

label.config(font=("Courier", 18))

label.grid(row=0,column=0,columnspan=4)

sizeLabel=Label(main, text='Frame Width : ')                

sizeLabel.grid(row=1,column=0)

sizeVal  = IntVar(value=frame_width)

sizeSpin = Spinbox(main, textvariable=sizeVal,from_=0, to=2000, increment=100, justify=RIGHT)

#정렬은 오른쪽으로

sizeSpin.grid(row=1, column=1)

Button(main,text="File Select", height=2,command=lambda:selectFile()).grid(row=1, column=2, columnspan=2, sticky=(W, E))

detection=Label(main, image=imgtk)

detection.grid(row=2,column=0,columnspan=4)

detectAndDisplay(read_image)

main.mainloop()

Hình ảnh hồ sơ của yongjingim172478
yongjingim172478

câu hỏi đã được viết

Đặt câu hỏi