mirror of
https://github.com/esimov/pigo.git
synced 2025-10-08 17:40:09 +08:00
Resolving empty pixel issue
This commit is contained in:
@@ -24,41 +24,43 @@ func main() {}
|
||||
|
||||
//export FindFaces
|
||||
func FindFaces(pixels []uint8) uintptr {
|
||||
dets := clusterDetection(pixels, 480, 640)
|
||||
result := make([][]int, len(dets))
|
||||
if len(pixels) > 0 {
|
||||
dets := clusterDetection(pixels, 480, 640)
|
||||
result := make([][]int, len(dets))
|
||||
|
||||
for i := 0; i < len(dets); i++ {
|
||||
if dets[i].Q >= 5.0 {
|
||||
result[i] = append(result[i], dets[i].Row, dets[i].Col, dets[i].Scale)
|
||||
for i := 0; i < len(dets); i++ {
|
||||
if dets[i].Q >= 5.0 {
|
||||
result[i] = append(result[i], dets[i].Row, dets[i].Col, dets[i].Scale)
|
||||
}
|
||||
}
|
||||
}
|
||||
//fmt.Println(dets)
|
||||
fmt.Println(result)
|
||||
//fmt.Println(dets)
|
||||
fmt.Println(result)
|
||||
|
||||
if len(result) > 0 {
|
||||
det := make([]int, 0, len(result))
|
||||
for _, v := range result {
|
||||
det = append(det, v...)
|
||||
if len(result) > 0 {
|
||||
det := make([]int, 0, len(result))
|
||||
for _, v := range result {
|
||||
det = append(det, v...)
|
||||
}
|
||||
det = append([]int{len(result), 0, 0}, det...)
|
||||
fmt.Println(det)
|
||||
|
||||
s := *(*[]int)(unsafe.Pointer(&det))
|
||||
p := uintptr(unsafe.Pointer(&s[0]))
|
||||
return p
|
||||
|
||||
sh := &reflect.SliceHeader{
|
||||
Data: p,
|
||||
Len: len(result),
|
||||
Cap: len(result),
|
||||
}
|
||||
|
||||
data := *(*[][]int)(unsafe.Pointer(sh))
|
||||
|
||||
fmt.Println(data)
|
||||
|
||||
runtime.KeepAlive(result)
|
||||
return uintptr(unsafe.Pointer(&data[0]))
|
||||
}
|
||||
det = append([]int{len(result), 0, 0}, det...)
|
||||
fmt.Println(det)
|
||||
|
||||
s := *(*[]int)(unsafe.Pointer(&det))
|
||||
p := uintptr(unsafe.Pointer(&s[0]))
|
||||
return p
|
||||
|
||||
sh := &reflect.SliceHeader{
|
||||
Data: p,
|
||||
Len: len(result),
|
||||
Cap: len(result),
|
||||
}
|
||||
|
||||
data := *(*[][]int)(unsafe.Pointer(sh))
|
||||
|
||||
fmt.Println(data)
|
||||
|
||||
runtime.KeepAlive(result)
|
||||
return uintptr(unsafe.Pointer(&data[0]))
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
Reference in New Issue
Block a user