Opencv 如何将基于Python键的排序代码转换为基于GO键的排序代码
我是新来的。我正在将python中的代码转换为go。我想把这一行转换成Opencv 如何将基于Python键的排序代码转换为基于GO键的排序代码,opencv,go,gocv,Opencv,Go,Gocv,我是新来的。我正在将python中的代码转换为go。我想把这一行转换成GO。我查看了谷歌,但没有找到任何支持的解决方案。 我很难接受这个 # this will slice top five contour based on area cnt = sorted(contours, key=cv2.contourArea, reverse=True)[:5] 我在其中拍摄轮廓[]图像。点根据go键入 你知道我该怎么处理吗?你必须用sort软件包对你的切片进行排序,然后你可以用同样的方式挑选前五名
GO
。我查看了谷歌,但没有找到任何支持的解决方案。
我很难接受这个
# this will slice top five contour based on area
cnt = sorted(contours, key=cv2.contourArea, reverse=True)[:5]
我在其中拍摄轮廓[]图像。点
根据go键入
你知道我该怎么处理吗?你必须用
sort
软件包对你的切片进行排序,然后你可以用同样的方式挑选前五名(使用[:5]
)
您可能需要编写一些自定义方法,以按照您希望的方式指导排序。中有几个示例-例如,请参阅排序键
演示如何:
package main
import (
"fmt"
"sort"
)
type byLength []string
func (s byLength) Len() int {
return len(s)
}
func (s byLength) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
func (s byLength) Less(i, j int) bool {
return len(s[i]) < len(s[j])
}
func main() {
fruits := []string{"peach", "banana", "kiwi"}
sort.Sort(byLength(fruits))
fmt.Println(fruits)
}
主程序包
进口(
“fmt”
“排序”
)
键入byLength[]字符串
func(s byLength)Len()int{
返回透镜(s)
}
func(s byLength)掉期(i,j int){
s[i],s[j]=s[j],s[i]
}
func(s byLength)减去(i,j int)bool{
返回len(s[i])
对于排序切片,您看过了吗?