armstrong1972 / pysample-for-shiqiyu Goto Github PK
View Code? Open in Web Editor NEWThe DLL inferface & python sample code base on new version of libfacedetection ( https://github.com/ShiqiYu/libfacedetection )by Shiqi.Yu.
The DLL inferface & python sample code base on new version of libfacedetection ( https://github.com/ShiqiYu/libfacedetection )by Shiqi.Yu.
请问,要如何编译为.so文件呢?供linux使用
in the orgal libfacedetect:
//!!! The input image must be a #BGR# one (three-channel) instead of RGB
// pResults = facedetect_cnn(pBuffer, (unsigned char*)(image.ptr(0)), image.cols, image.rows, (int)image.step);
and in this pySample-for-ShiqiYu:
//input image, it must be RGB (three-channel) image!原版要求BGR?
int * shiqi_fd(unsigned char * rgb_image_data, int width, int height, int step)
{
unsigned char * pBuffer = (unsigned char *)malloc(DETECT_BUFFER_SIZE);
return facedetect_cnn(pBuffer, rgb_image_data, width, height, step);
}
??
你好,我在Ubuntu 16.04运行时,在载入dll的时候,出现了 invalid ELF header 错误
是只能在windows上运行吗?如果是,那怎么才能在Ubuntu上运行呢
谢谢
我在ex.py的基础上写了遍历目录取照片的代码,这时候会异常中断
# coding: utf-8
#
# 程序功能 :使用 于仕琪 老师的lib,做人脸识别
# 重点 :调用 C++ 提供的 DLL 接口时,如何处理 指针 类型
import numpy as np
import cv2
from ctypes import *
import types
import sys
import os
import tqdm
Max_Faces = 256
Size_one_Face = 6 + 68 * 2
Size_FaceLandMarks = Size_one_Face * Max_Faces
class FaceResults(Structure):
_fields_ = [("face_num", c_int32),
("datas", c_int16 * Size_FaceLandMarks)
]
for root, dirs, files in os.walk("E:\\43"):
for name in files:
img_path = os.path.join(root, name)
print(img_path)
img = cv2.imread(img_path)
h,w = img.shape[:2]
st = w*3
p_img = img.ctypes.data_as(POINTER(c_ubyte))
#dll = CDLL('./dlls/fd-shiqiyu.dll') # old version
dll = CDLL('./dlls/fd-shiqiyu_v2.dll')
dll.shiqi_fd.restype = POINTER(FaceResults)
p_results = dll.shiqi_fd(p_img,w,h,st)
face_num = p_results.contents.face_num
for i in range(face_num):
j = Size_one_Face * i
x = p_results.contents.datas[j]
y = p_results.contents.datas[j+1]
w = p_results.contents.datas[j+2]
h = p_results.contents.datas[j+3]
confidence = p_results.contents.datas[j+4]
angle = p_results.contents.datas[j+5]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.