小编efd*_*234的帖子

haproxy - 无法从PEM文件加载SSL私钥

haproxy不再启动,它显示错误

bind <ip>:443' : unable to load SSL private key from PEM file ...
Run Code Online (Sandbox Code Playgroud)

我们没有更改证书或配置上的任何内容.自上次启动以来,我们只对系统进行了正常更新.

为了找到错误,我生成了一个全新的证书(自签名),但错误仍然存​​在.

这是PEM文件的结构:

-----BEGIN CERTIFICATE-----
MIIDXjCCAkY...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKC....
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

我还尝试将私钥转换为

openssl pkcs8 -topk8 -inform pem -in server.key -outform pem -nocrypt -out server_new.key
Run Code Online (Sandbox Code Playgroud)

但是haproxy仍然显示相同的错误.

我现在想要几个小时,但我找不到原因.请帮忙!谢谢!

更新:

该问题与文件访问有关.PEM文件存储在/data/ssl/domainname/domainname.pem中.文件权限还可以.当我将PEM文件移动到/ etc/haproxy时,一切正常.

haproxy

31
推荐指数
5
解决办法
4万
查看次数

OpenCV:以毫米为单位测量两个球之间的距离 - 如何提高准确度

我也在opencv.org的Q&A论坛上发布了这个主题,但我不知道有多少专家在这里阅读这个论坛 - 所以请原谅我,我也在这里尝试.

我正在学习OpenCV,我目前的任务是测量两个躺在盘子上的球之间的距离.我的下一步是比较几个摄像头和分辨率,以了解分辨率,噪声,失真等的重要性以及这些参数对精度的影响有多大.如果社区对结果感兴趣,我很乐意在他们准备好后分享结果!使用广角镜头将相机放置在印版上方.板的宽度和高度(1500×700mm)和球的半径(40mm)是已知的.

我到目前为止的步骤:

  1. 相机校准
  2. 不扭曲图像(由于广角镜头,失真很高)
  3. findHomography:我使用板的角点作为输入(未失真图像中的4个像素点)和角点(毫米)(左下角为0,0,右上角为1500,700) )
  4. 使用HoughCircles在未失真的图像中找到球
  5. 在圆心点上应用perspectiveTransform =>圆心点现在以毫米为单位
  6. 计算两个中心点的距离:d = sqrt((x1-x2)^ 2 +(y1-y2)^ 2)

结果:距离为300毫米时误差约为4毫米,距离为1000毫米时误差约为25毫米但如果我测量的是印在板上的矩形误差小于0.2毫米,那么我猜测校准和不失真是有效的.

我想到了这个并找出了三个可能的原因:

  1. findHomography应用于直接位于板上的点,而球的中心点应在赤道高度测量=>如何更改find​​Homography的结果来改变这一点,即"移动"平面?以mm为单位的半径是已知的.
  2. 因为相机不会从顶部看到球,所以误差会随着球到光学中心的距离的增加而增加,所以图像的2D投影中心点与3D世界中的中心点不一样 - 我会投射进一步到图像的边界.=>是否有任何几何操作我可以在找到的中心应用以更正值?
  3. 在失真期间,可能会丢失信息,因为我会产生一个新的无失真图像并回到像素精度,尽管我在失真矩阵中有许多浮点值.我应该在扭曲的图像中搜索球并仅使用失真矩阵转换中心点吗?但我不知道这项任务的代码是什么.

我希望有人可以帮助我改进这一点,我希望这个主题对其他OpenCV启动器很有意思.

谢谢和最好的问候!

opencv

10
推荐指数
1
解决办法
4191
查看次数

矩阵的每一行和每列中只有一个值


我试图找出解决这个问题的最佳方法:有一个像这样的矩阵:

1 0 0 1 0
1 1 0 1 0
1 1 0 0 1
0 0 1 1 0
1 0 1 0 0
Run Code Online (Sandbox Code Playgroud)

我们想要找出每个可能的矩阵,其中每行和每列只有一个1,例如这个矩阵是一个可能的解决方案:

1 0 0 0 0
0 1 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
Run Code Online (Sandbox Code Playgroud)

我想你可以找到一个解决方案,通过每个可能的组合循环,并检查每行和每列中是否只有一个1?有没有任何已知的算法?有可能实际计算解决方案而不是尝试所有可能性吗?

非常感谢你!

编辑:一种可能的解决方案(但价格昂贵)可能是生成每个理论上可能的矩阵,例如(使用3x3矩阵,因为它更短):1.

1 0 0
0 1 0
0 0 1
Run Code Online (Sandbox Code Playgroud)

2.

1 0 0
0 0 1
0 1 0
Run Code Online (Sandbox Code Playgroud)

3.

1 0 0
0 0 …
Run Code Online (Sandbox Code Playgroud)

algorithm matrix

5
推荐指数
1
解决办法
3242
查看次数

标签 统计

algorithm ×1

haproxy ×1

matrix ×1

opencv ×1