第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

OpenCV - 用二進(jìn)制墊上的線條細(xì)化會(huì)導(dǎo)致隨機(jī)水平虛線

OpenCV - 用二進(jìn)制墊上的線條細(xì)化會(huì)導(dǎo)致隨機(jī)水平虛線

侃侃爾雅 2023-05-17 15:05:20
我正在編寫(xiě)一種方法來(lái)從二進(jìn)制圖像(背景為黑色)中提取細(xì)白線。本質(zhì)上,代碼循環(huán)遍歷圖像并找到同一行中的連續(xù)白色像素,將它們?nèi)孔優(yōu)楹谏?,最后將中間的像素變?yōu)榘咨T撍惴梢院芎玫丶?xì)化線條,但會(huì)產(chǎn)生隨機(jī)的水平虛線,而這些虛線根本不應(yīng)該有任何東西。下面是一個(gè)例子:圖像細(xì)線來(lái)自:算法運(yùn)行后的圖像:顯然,圖像頂部和底部附近的虛線不應(yīng)該存在,因?yàn)樵紙D像中沒(méi)有白色區(qū)域,但它們是以某種方式生成的。我附上了我的代碼來(lái)做下面的細(xì)化,非常感謝任何幫助!//Line thining    double[] rgbCanny;    int inARow = 0;    for(int i = 0; i < noiseReducedCanny.size().height; i++) {        for(int j = 0; j < noiseReducedCanny.size().width; j++) {            rgbCanny = noiseReducedCanny.get(i, j);            if(rgbCanny[0] == 255) {                inARow++;            } else {                if(inARow != 0 && inARow % 2 == 1) {                    int middle = (int) Math.ceil(j - inARow / 2.0);                    for(int x = j - inARow; x < j; x++) {                        noiseReducedCanny.put(i, x, new double[]{0, 0, 0});                    }                    noiseReducedCanny.put(i, middle, new double[]{255, 255, 255});                } else if (inARow != 0 && inARow % 2 == 0) {                    int middle = j - inARow / 2;                    for(int x = j - inARow; x < j; x++) {                        noiseReducedCanny.put(i, x, new double[]{0, 0, 0});                    }                    noiseReducedCanny.put(i, middle, new double[]{255, 255, 255});                }                inARow = 0;            }        }    }
查看完整描述

1 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

請(qǐng)注意,即使算法看起來(lái)有效,您的線條也不是 1 像素寬。它們有 3 個(gè)像素寬。

顯然put()是將 3 個(gè)連續(xù)的像素設(shè)置為白色,從給定的索引 ( middle) 開(kāi)始。這 2 個(gè)意外像素導(dǎo)致您的算法“反饋”到自身,這意味著它們正在觸發(fā)線條inARow++

我不是 OpenCV 專(zhuān)家,而且我無(wú)法輕易找到 的文檔put(),所以我不知道您應(yīng)該如何將單個(gè) RGB 值添加到mat. 然而,似乎有可能改變這一點(diǎn):

new double[]{255, 255, 255}

對(duì)此:

new double[]{255}

將導(dǎo)致所需的行為。

您可能也想修復(fù)“涂黑”線。


查看完整回答
反對(duì) 回復(fù) 2023-05-17
  • 1 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)