qq 282397369
老革命碰到新問題,使用者發現在試玩的時候,有乙個平台需要按住虛框進行操作,目前的指令碼還沒有這個功能,需要實現一下下。
不怕客戶沒愛好,就怕客戶沒需求。
首先是顏色過濾,然後找連通域,再拼成矩形框資料。當然,矩形框資料只需找上下左右4個座標分量,這個可以通過投影找最大兩個數值來確定。
核心實現,肯定還得c來
考慮實用性,把二值化這個步驟用字串來引數化,這樣就可以實現彩色、灰度、通道方式過濾。
先設計乙個函式:
trect __fastcall cvhelper::
getrect_dash
(cv::mat& srcmat, unicodestring binarymethod)
else
binarymat = cvhelper::
buildtransmaskmat_colorpass
(srcmat, v1);}
else
if(thelper::string::
issame
(l"gray"
, type,
!drgraph_flag_sensitive)
)else
binarymat = cvhelper::
buildtransmaskmat_gray
(srcmat,
byte
(v1));
}else
if(thelper::string::
issame
(l"channel"
, type,
!drgraph_flag_sensitive))if
(binarymat.
empty()
)return result;
cvhelper::debug::
logmat
(srcmat, l"虛線框識別 - 原圖");
cvhelper::debug::
logmat
(binarymat, l"虛線框識別 - 二值圖");
cvrects rects = cvhelper::
getalldomain
(binarymat, nssx, l""
, cv_retr_list)
; cvhelper::debug::
logmatwithrects
(srcmat, rects)
;int
* rowvalue =
newint
[srcmat.rows]
;int
* colvalue =
newint
[srcmat.cols]
;zeromemory
(rowvalue, srcmat.rows *
sizeof
(int))
;zeromemory
(colvalue, srcmat.cols *
sizeof
(int))
;for
(int i = rects.
size()
-1; i >=0;
--i)
}int left =
localgetmaxindex
(colvalue, srcmat.cols)
;int right =-1
;if(left >=0)
int top =
getmaxindex
(rowvalue, srcmat.rows)
;int bottom =-1
;if(top >=0)
delete rowvalue;
delete colvalue;
if(left <
0|| right <
0|| top <
0|| bottom <0)
return result;
result.left = std::
min(left, right)
; result.top = std::
min(top, bottom)
; result.right = std::
max(left, right)
; result.bottom = std::
max(top, bottom)
; cvhelper::debug::
logmatwithrects
(srcmat, rects)
;return result;
}
經測試,可以正確識別出虛線框
增加乙個api函式getrect_dash供lua呼叫,返回矩形區域即可。
local t, x, y, w, h = cv:
getrect_dash
(realtimemat,
"channel, blue, 80")if
(x >
0) then
click
(string.
format
("%d, %d"
, x + w /
2, y + h /2)
) end
結果:
如此甚好。
去除鏈結虛線框
b 區域性控制 b link1 link1 link1 link1 b 全域性控制 b css實現 a 只支援ie,過多使用效率低 a 只支援ie,過多使用效率低 a focus ie不支援 htc實現 ie支援,頁面載完才有效果 把下面這段 存為.htc為副檔名的檔案 呼叫 a js遍歷實現 wi...
去除鏈結虛線框
區域性控制 link1 link1 link1 link1 全域性控制 css實現 a 只支援ie,過多使用效率低 a 只支援ie,過多使用效率低 cqc新加 hidefocus true只是隱藏了焦點 隱藏了虛線 但是焦點還是在該鏈結上 獲得焦點後產生的一些效果如a active的樣式還是能起作用...
批量消除虛線框
出處 5d多 各位想必都知道,onfocus this.blur 這條 能消除鏈結時的虛線框,但你有沒有想過,如果你的網頁上有幾個甚至上百個鏈結,而你又想要去掉上面那些討厭的虛線框,難道你還乙個個去 ctrl c ctrl v 天哪!這對乙個正常人來說絕對是個惡夢。也許你會說,用 dw或其它文字編輯...