Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 10진수
- OpenCV
- 8진수
- 2차원배열
- 기초100제
- bitwise
- 산술연산
- codeup
- 문자열
- 딥러닝
- 2진수
- 아스키코드
- 논리연산
- 16진수
- face recognition
- 입출력
- 불 연산
- Docker
- 반복실행구조
- 불 자료형
- 비트단위논리연산
- 진수
- input()
- 비교연산
- 기초 100제
- 종합
- 출력
- 파이썬
- 코드업
- 선택실행구조
Archives
- Today
- Total
DeepFlowest
Darknet 프레임 워크를 Python3 환경에서 Object Detection 본문
Computer Vision/실습, 세미 프로젝트
Darknet 프레임 워크를 Python3 환경에서 Object Detection
Orange57 2020. 11. 12. 14:12728x90
반응형
SMALL
1. 에러 1
libdarknet.so : undefined symbol : ndarray_to_image 에러 발생!!
파이썬 버전 문제인 줄 알았지만
darknet.py 파일에서 다음 코드들 대신에
아래 코드 삽입 후 다시 돌리면 돌아간다.
def array_to_image(arr):
# need to return old values to avoid python freeing memory
arr = arr.transpose(2,0,1)
c, h, w = arr.shape[0:3]
arr = np.ascontiguousarray(arr.flat, dtype=np.float32) / 255.0
data = arr.ctypes.data_as(POINTER(c_float))
im = IMAGE(w,h,c,data)
return im, arr
def detect(net, meta, image, thresh=.5, hier_thresh=.5, nms=.45):
"""if isinstance(image, bytes):
# image is a filename
# i.e. image = b'/darknet/data/dog.jpg'
im = load_image(image, 0, 0)
else:
# image is an nparray
# i.e. image = cv2.imread('/darknet/data/dog.jpg')
im, image = array_to_image(image)
rgbgr_image(im)
"""
im, image = array_to_image(image)
rgbgr_image(im)
num = c_int(0)
pnum = pointer(num)
predict_image(net, im)
dets = get_network_boxes(net, im.w, im.h, thresh,
hier_thresh, None, 0, pnum)
num = pnum[0]
if nms: do_nms_obj(dets, num, meta.classes, nms)
res = []
for j in range(num):
a = dets[j].prob[0:meta.classes]
if any(a):
ai = np.array(a).nonzero()[0]
for i in ai:
b = dets[j].bbox
res.append((meta.names[i], dets[j].prob[i],
(b.x, b.y, b.w, b.h)))
res = sorted(res, key=lambda x: -x[1])
if isinstance(image, bytes): free_image(im)
free_detections(dets, num)
return res
2. 에러 2
Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
==> OpenCV를 설치할 때 윈도우를 생성하여 이미지나 비디오를 보여주기 위해 gtk를 설치했었는데,
gtk 2로 설치했던 게 문제가 생긴 것 같다.
지금 코드를 돌리기 위해서는 gtk 3이 필요한 것이다.
728x90
반응형
LIST
'Computer Vision > 실습, 세미 프로젝트' 카테고리의 다른 글
Comments