1// findSmallestMissingNumber 查找数组中缺失的最小正整数 2func findSmallestMissingNumber(nums []int) int { 3 n := len(nums) 4 5 // 遍历数组,将每个数字放到它应该在的位置上 6 for i := 0; i < n; i++ { 7 for nums[i] > 0 && nums[i] <= n && nums[nums[i]-1] != nums[i]
...
1// UndistortImage 畸变校正 2func UndistortImage(imgData []byte, imgSize image.Point, cameraMatrix gocv.Mat, distCoeffs gocv.Mat, newCameraMatrix gocv.Mat) ([]byte, error) { 3 mapx := gocv.NewMatWithSize(imgSize.X, imgSize.Y, gocv.MatTypeCV32F) 4 defer mapx.Close() 5 mapy := gocv.NewMatWithSize(imgSize.X, imgSize.Y, gocv.MatTypeCV32F) 6 defer mapy.Close() 7 r := gocv.Eye(3, 3, gocv.MatTypeCV32F) 8 defer r.Close() 9 10 // 初始化校正映射 11 gocv.InitUndistortRectifyMap(cameraMatrix, distCoeffs, r, newCameraMatrix, imgSize, int(gocv.MatTypeCV32F), mapx, mapy) 12 // 保存
...
1// CalibCamera 标定相机 2func CalibCamera(imgDatas [][]byte, chessboardRowCornerCount int, chessboardColCornerCount int, curImageIndex int) error { 3 // 保存各图像中的角点的二维坐标, 即像素坐标 4 imgPoints := gocv.NewPoints2fVector() 5 defer imgPoints.Close() 6 // 保存各图像中的角点的三维坐标,即世界坐标 7 objPoints
...
1. 最小二乘法 推导过程可参考 Kåsa Fit 算法: 1// fitCenterByLeastSquare 最小二乘法拟合圆 2func fitCenterByLeastSquare(points []gocv.Point2f) (gocv.Point2f, float32) { 3 var sumX, sumY, sumX2, sumY2, sumXY, sumX3, sumY3, sumX2Y, sumY2X float32 4 for _, p := range points { 5 sumX += p.X 6 sumY += p.Y 7 sumX2 += p.X *
...
场景 当 Yaml 作为配置文件时候,往往在启动服务的时候就需要解析配置,如果修改了某个字段的数据结构,开局就 panic,有时候我们并不希望此时就停止业
...
kill 1$ kill pid # kill -15 pid 默认的 kill 系统会发送一个 SIGTERM 的信号给对应的程序,当程序接收到该 signal 后: 程序立刻停止 当程序释放相应资源后再停止 程序可能仍然继续运行 大
...
OVS 网络架构 Open vswitch 是一个开放的虚拟交换机,支持 openflow 协议,被远端的控制器通过 openflow 协议统一管理,从而实现对接入的虚拟机或设备进行组网和互通,主要作用就是
...
通俗理解 控制面是为了找好路径,转发面是在有个好路径的基础上转发数据,两者协作来达到网络是通的这样一个目的。 数据包是以跳为单位进行路由的,转发
...
ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标 IP 对应的 MAC 地址。 在网络通信中,主机和主机
...
单播 : 发送数据到单个目的主机,每个单播报文都有一个单播 IP 地址作为目的地址 传输方式 : 是点对点传输方式 ; 弊端 : 发送者与每个接收者之间都要建立单独
...