假设a是我的n元素数组.
约束:
假设对于给定的alpha和beta值,这样的数组总是可行的
这就是我的想法:
随机分配alpha和beta之间的值.找到数组元素的总和.如果sum> 1,则用x减去所有元素,以满足约束.如果sum <1,则使用x添加所有元素,以满足约束.
但我发现很难找到新映射的值.
我试图使用OpenCV计算屏幕截图中的标签数量.我首先裁剪我的图像以限制镀铬标签.然后我使用边缘检测,Canny算法来查找chrome中的边缘.然后我使用Houghlines查找选项卡的数量,但我没有通过Houghlines获得所需的输出.下面是我的代码和输出.
import cv2
import numpy as np
import math
from matplotlib import pyplot as plt
img = cv2.imread('1.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,200,apertureSize = 3)
cv2.imwrite('result.png',edges)
lines = cv2.HoughLines(edges,1,np.pi/180,50)
for rho,theta in lines[0]:
slope = 180*theta*1.0/np.pi
if slope > 110 and slope <148: # for identifying chrome tab angle (right slope line of each tab)
a = np.cos(theta)
b = np.sin(theta)
x0 = a*rho
y0 = b*rho
x1 = int(x0 + 1000*(-b))
y1 = int(y0 + 1000*(a))
x2 = …Run Code Online (Sandbox Code Playgroud) python opencv image-processing edge-detection hough-transform