openCV使用随记

cv2.VideoCapture()

0 代表使用摄像头  或者输入路径读视频

cv2.calcOpticalFlowFarneback()
cv2.calcOpticalFlowFarneback(prev, next, flow, pyr_scale, levels, winsize, iterations, poly_n, poly_sigma, flags) → flow
  • prev – first 8-bit single-channel input image.
  • next – second input image of the same size and the same type as prev.
  • flow – computed flow image that has the same size as prev and type CV_32FC2.
  • pyr_scale – parameter, specifying the image scale (<1) to build pyramids for each image; pyr_scale=0.5 means a classical pyramid, where each next layer is twice smaller than the previous one.
  • levels – number of pyramid layers including the initial image; levels=1 means that no extra layers are created and only the original images are used.
  • winsize – averaging window size; larger values increase the algorithm robustness to image noise and give more chances for fast motion detection, but yield more blurred motion field.
  • iterations – number of iterations the algorithm does at each pyramid level.
  • poly_n – size of the pixel neighborhood used to find polynomial expansion in each pixel; larger values mean that the image will be approximated with smoother surfaces, yielding more robust algorithm and more blurred motion field, typically poly_n =5 or 7.
  • poly_sigma – standard deviation of the Gaussian that is used to smooth derivatives used as a basis for the polynomial expansion; for poly_n=5, you can set poly_sigma=1.1, for poly_n=7, a good value would be poly_sigma=1.5.
百度翻译。。:
沪指–第一位单通道输入图像。             
下一–二输入图像相同的尺寸和类型上相同。         
 流–计算流动图像大小和类型相同,沪指cv_32fc2。          
 pyr_scale–参数,指定图像的尺度(<1)为每个图像建立金字塔;pyr_scale = 0.5意味着一个经典的金字塔,在每一层都比前一次小。             
级别——包括初始图像在内的金字塔层的数量;级别= 1意味着不会创建额外的层,只使用原始图像。             
winSize–平均窗口尺寸;较大的值增加算法的鲁棒性的图像噪声和快速运动检测更多的机会,但更模糊的运动场。             
迭代——算法在每个金字塔级别上的迭代次数。             
poly_n–大小用来找到每个像素的多项式展开的邻域;值越大,意味着它的形象将与平滑的表面近似,获得更强大的算法和更模糊的运动场,通常poly_n = 5或7。             
poly_sigma–的高斯是用来平滑的衍生物作为多项式扩展的基础标准偏差;对poly_n = 5,你可以设置poly_sigma = 1.1,为poly_n = 7,一个好的价值将poly_sigma = 1.5。             
旗–              操作标志,可以是以下内容的组合:


阅读更多

程序使用中的随记

12-06

如何判断一个电子信箱格式是否有效?rn很多用户在网站上会糊弄填写一个电子信箱,请问有什么办法可以阻止这种行为?rn rn我们通常用两种方法来进行判断:rn第一种,设定只有形如wapweb@***.net、wapweb@***.***.net、sadfsdf@***.***.***.net格式的信箱才符合要求,其它为错:rn rnrn第二种,一般来说,判断一个电子信箱格式是否有效,最简单的方法就是检查它里面是否含有“@”和“.”以及“.”是否排在“@”后面:rnlAt = False rn lDot = false rn for x = 2 to len(pInstring)-1rn if mid(pInString,x,1) = "@" then lAt = Truern if mid(pInString,x,1) = "." and lAt = True then lDot = True rn next rn if lAt = True and lDot = True then rn isEmail = True rn elsern isEmail = False rn end if rnend functionrn这个办法还可以作为对类似的有一定格式的东西进行判断的范本。rnrnrnrn如何判断SQL语句是否执行了?rnrnrn 我们可以利用err对象来判断:rnsql="insert into table(f1,f2) values('v1','v2')"rnconn.execute sqlrnif err.number<>0 then rn   response.write "哎呀,出错了:"& err.description err.clearrnelse rn    response.write "OK"rnend if  rnrnrnrnrn如何列举Error的所有对象?rnDim irnSet conn=Server.CreateObject("ADODB.Connection")rnconn.ConnectionString="Driver=Microsoft Access Driver (*.mdb);DBQ=" _rn&Server.Mappath("/source_asp")&"/property/employee.mdb;"rnconn.open rnif conn.errors.count>0 thenrn response.write "噢,数据库连接出错了!"&" "rnfor i =0 to conn.errors.count-1rn response.write conn.errors.item(i)&" "rn nextrnelsern response.write "恭喜,数据库连接成功!"rnend if rnconn.closern%>rnrnError对象的属性和方法:rn1、Count属性:用来统计Errors集合的数目;rn2、Clear方法:写法为Error.Clear,是用来清除Errors集合中的原有对象的,在统计新的Error对象时应该先使用此语句;rn3、Item方法:用来指定特定的一个错误,语法为Error.Item(number),其中number为一数字。由于默认Item方法,所以Error(number)的写法与前面的写法是相同的。rnrnrn

没有更多推荐了,返回首页