本發(fā)明涉及信息處理領(lǐng)域,特別涉及一種圖像處理方法及裝置。
背景技術(shù):
圖像處理(imageprocessing)一般指數(shù)字圖像處理,又稱影像處理。圖像處理技術(shù)為使用計(jì)算機(jī)對(duì)數(shù)字圖像進(jìn)行分析和處理,以達(dá)到所需結(jié)果的技術(shù)。一幅數(shù)字圖像是用攝像機(jī)、掃描儀等設(shè)備采集得到的一個(gè)二維數(shù)組,該數(shù)組的元素稱為像素,其值稱為像素值、色度值或灰度值。
在對(duì)圖像進(jìn)行分析時(shí),有時(shí)需要去除圖像中的背景區(qū)域,以突出圖像中的關(guān)注區(qū)域。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供了一種圖像處理方法及裝置,實(shí)現(xiàn)了通過少量計(jì)算和處理步驟獲得關(guān)注區(qū)域的邊界坐標(biāo),快速進(jìn)行圖像裁切。
本發(fā)明實(shí)施例提供的圖像處理方法包括:獲得第一圖像,第一圖像由關(guān)注區(qū)域和關(guān)注區(qū)域周圍的背景區(qū)域構(gòu)成;對(duì)第一圖像進(jìn)行處理獲得二值化圖像;將與二值化圖像對(duì)應(yīng)的像素矩陣分別在橫向方向上和縱向方向上進(jìn)行投影變換獲得每行和每列的變換值;根據(jù)變換值確定像素矩陣中與關(guān)注區(qū)域?qū)?yīng)的部分在縱向方向上和橫向方向上的邊界坐標(biāo);根據(jù)邊界坐標(biāo)將第一圖像切割為第三圖像。
作為優(yōu)選,根據(jù)變換值確定像素矩陣中與關(guān)注區(qū)域?qū)?yīng)的部分在縱向方向上和橫向方向上的邊界坐標(biāo),包括:基于預(yù)定的邊界點(diǎn)閾值,將變換值中不小于邊界點(diǎn)閾值的變換值對(duì)應(yīng)的坐標(biāo)確定為邊界坐標(biāo)。
作為優(yōu)選,對(duì)第一圖像進(jìn)行處理,獲得二值化圖像包括:將第一圖像處理為灰度圖像,對(duì)灰度圖像進(jìn)行二值化變換得到二值化圖像。
作為優(yōu)選,將第一圖像處理為灰度圖像后還包括:對(duì)灰度圖像進(jìn)行灰度均衡處理。
作為優(yōu)選,對(duì)第一圖像進(jìn)行處理,獲得二值化圖像包括:提取第一圖像中的預(yù)定單基色像素,得到單基色圖像作為二值化圖像。
作為優(yōu)選,對(duì)第一圖像進(jìn)行處理,獲得二值化圖像包括:提取第一圖像中的至少兩種預(yù)定單基色像素,得到至少兩個(gè)單基色圖像作為二值化圖像,其中,分別對(duì)至少兩個(gè)單基色圖像對(duì)應(yīng)的至少兩個(gè)像素矩陣進(jìn)行投影變換獲得至少兩組變換值,根據(jù)至少兩組變換值確定至少兩組邊界坐標(biāo),根據(jù)至少兩組邊界坐標(biāo)確定最終邊界坐標(biāo)以將第一圖像切割為第三圖像。
作為優(yōu)選,該方法還包括:對(duì)第三圖像進(jìn)行亮度自適應(yīng)增強(qiáng)處理得到第四圖像。
本發(fā)明實(shí)施例提供的圖像處理裝置包括存儲(chǔ)有指令的存儲(chǔ)器和處理器,處理器配置為執(zhí)行指令以:獲得第一圖像,第一圖像由關(guān)注區(qū)域和關(guān)注區(qū)域周圍的背景區(qū)域構(gòu)成;對(duì)第一圖像進(jìn)行處理獲得二值化圖像;將與二值化圖像對(duì)應(yīng)的像素矩陣分別在橫向方向上和縱向方向上進(jìn)行投影變換獲得每行和每列的變換值;根據(jù)變換值確定像素矩陣中與關(guān)注區(qū)域?qū)?yīng)的部分在縱向方向上和橫向方向上的邊界坐標(biāo);根據(jù)邊界坐標(biāo)將第一圖像切割為第三圖像。
作為優(yōu)選,處理器進(jìn)一步配置為執(zhí)行指令以:在確定邊界坐標(biāo)時(shí),基于預(yù)定的邊界點(diǎn)閾值,將變換值中不小于邊界點(diǎn)閾值的變換值對(duì)應(yīng)的坐標(biāo)確定為邊界坐標(biāo)。
作為優(yōu)選,處理器進(jìn)一步配置為執(zhí)行指令以:對(duì)第三圖像進(jìn)行亮度自適應(yīng)增強(qiáng)處理得到第四圖像。
本發(fā)明實(shí)施例的技術(shù)方案使用投影變換查找圖像中關(guān)注區(qū)域的四邊界,實(shí)現(xiàn)了通過少量計(jì)算和處理步驟獲得邊界坐標(biāo),快速進(jìn)行圖像裁切,能夠獲得其中關(guān)注區(qū)域占據(jù)整個(gè)畫面且不失真的圖像。
附圖說明
圖1為本發(fā)明一個(gè)實(shí)施例的圖像處理方法的示意性流程圖;
圖2-圖4為圖1所示實(shí)施例中一些處理步驟得到的示意性數(shù)字圖像。
圖5為本發(fā)明另一個(gè)實(shí)施例的圖像處理方法的示意性流程圖;
具體實(shí)施方式
下面參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。
圖1為本發(fā)明一個(gè)實(shí)施例的圖像處理方法的示意性流程圖,圖2-圖4為圖1所示實(shí)施例中一些處理步驟得到的示意性數(shù)字圖像。
如圖1所示,本發(fā)明實(shí)施例的圖像處理方法包括如下步驟:
s101、獲得第一圖像,第一圖像由關(guān)注區(qū)域和關(guān)注區(qū)域周圍的背景區(qū)域構(gòu)成;
第一圖像可以是任何包括關(guān)注區(qū)域和背景區(qū)域的并且需要裁切背景部分的數(shù)字圖像,例如用戶拍攝的風(fēng)景圖像或人物圖像,從網(wǎng)絡(luò)或存儲(chǔ)設(shè)備獲取的各類圖像等,其中關(guān)注區(qū)域例如為圖像中的某個(gè)建筑物、某個(gè)人物、某個(gè)物品的圖像區(qū)域,背景區(qū)域例如為除了該關(guān)注區(qū)域之外的圖像區(qū)域。
或者,第一圖像例如可以為醫(yī)學(xué)影像,例如眼科視網(wǎng)膜影像、內(nèi)科影像、牙科影像等,關(guān)注區(qū)域例如為視網(wǎng)膜圖像中的視網(wǎng)膜圖像區(qū)域,背景區(qū)域例如為除了視網(wǎng)膜圖像區(qū)域之外的黑色背景部分。
第一圖像中關(guān)注區(qū)域例如可以由背景區(qū)域環(huán)繞,也可以是關(guān)注區(qū)域的左側(cè)、右側(cè)、上側(cè)和下側(cè)中的至少一側(cè)不存在背景區(qū)域。
s102、對(duì)第一圖像進(jìn)行處理獲得二值化圖像;
例如,當(dāng)?shù)谝粓D像為彩色的視網(wǎng)膜圖像時(shí),可以先將第一圖像處理為單通道灰度圖像,如圖2所示,其中示例性地示出關(guān)注區(qū)域僅左右兩側(cè)存在背景區(qū)域。然后,使用二值化方法,按照灰度圖像的灰度特性,對(duì)例如圖2所示的灰度圖像進(jìn)行二值化變換,得到僅以黑色像素和白色像素來反映第一圖像中各區(qū)域特征的黑白二值化圖像,如圖3所示,其中,黑色像素的像素值為0,白色像素的像素值為255。二值化方法例如可以采用otsu方法。
當(dāng)?shù)谝粓D像為灰度圖像時(shí),可按照灰度圖像的灰度特性,直接對(duì)第一圖像進(jìn)行二值化處理得到二值化圖像。
二值化處理對(duì)于包含由于曝光過多而包含光暈的圖像以及過暗的圖像都有較好的處理效果。
s103、將與二值化圖像對(duì)應(yīng)的像素矩陣分別在橫向方向上和縱向方向上進(jìn)行投影變換獲得每行和每列的變換值;
由于二值化圖像僅由兩種顏色的像素構(gòu)成,例如黑色像素和白色像素,因此,與二值化圖像對(duì)應(yīng)的像素矩陣由兩種像素值構(gòu)成,例如0和255。在橫向和縱向上對(duì)二值化像素矩陣進(jìn)行radon投影變換可得到每行像素和每列像素的投影變換值。
為了便于描述,本發(fā)明實(shí)施例中假設(shè)上述二值化矩陣是大小為100x100的矩陣。例如,當(dāng)二值化圖像第1行至第10行像素均為黑色像素時(shí),二值化像素矩陣的第1行至第10行每個(gè)像素值均為0,將第1行像素值在橫向方向上進(jìn)行向縱軸投影的radon變換時(shí),可將第1行每個(gè)像素值進(jìn)行疊加,得到第1行像素值在縱軸上的投影變換值為0,以同樣的方式計(jì)算得到第2行至第10行在縱軸上的投影變換值也為0。又例如,當(dāng)二值化圖像第11行像素中包括5個(gè)白色像素且其他像素均為黑色像素時(shí),二值化矩陣中第11行像素值中包括5個(gè)255像素值且其他像素值為0,將第11行像素值在橫向方向上進(jìn)行向縱軸投影的radon變換時(shí),可將第11行每個(gè)像素值進(jìn)行疊加,得到第11行像素值在縱軸上的投影變換值為1275。并假設(shè)上述二值化矩陣中第11行至第100行像素值中每行像素值均包括三個(gè)以上的255像素值。
對(duì)二值化矩陣每列像素值在縱向方向上進(jìn)行投影變換也采用對(duì)每行像素同樣的radon變換方法,得到每列像素值在橫軸上的投影變換值,例如第1-10列和90-100列每列像素值在橫軸上的投影變換值均為0,第11列至第89列像素值在橫軸上的投影變換值分別為1020-15300中不同的數(shù)值。
s104、根據(jù)所述變換值確定所述像素矩陣中與所述關(guān)注區(qū)域?qū)?yīng)的部分在縱向方向上和橫向方向上的邊界坐標(biāo);
基于s103中設(shè)定的情形,在得到100x100的二值化矩陣每行像素值在縱軸上的投影變換值和每列像素值在橫軸上的投影變換值后,可根據(jù)每行和每列像素值的投影變換值確定代表關(guān)注區(qū)域的白色像素在二值化圖像中的邊界行和邊界列,例如關(guān)注區(qū)域?qū)?yīng)的白色像素的邊界行為地11-100行,邊界列為第11-89列,由此可以確定關(guān)注區(qū)域?qū)?yīng)的像素在縱向方向上的邊界橫坐標(biāo)為11和89,在橫向方向上的邊界縱坐標(biāo)為11和100。
以上以關(guān)注區(qū)域的三側(cè)存在背景區(qū)域?yàn)槔M(jìn)行了說明,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解本發(fā)明不限于該具體情況,而是根據(jù)關(guān)注區(qū)域與背景區(qū)域的分布關(guān)系,均可利用上述radon變換方式對(duì)二值化矩陣的每行每列像素值進(jìn)行投影得到變換值,例如對(duì)于一幅二值化圖像中包括兩個(gè)以上關(guān)注區(qū)域的,則對(duì)其二值化矩陣進(jìn)行radon變化可能會(huì)得到多于兩個(gè)邊界縱坐標(biāo)或多于兩個(gè)邊界橫坐標(biāo)。
s105、根據(jù)所述邊界坐標(biāo)將所述第一圖像切割為第三圖像。
例如,對(duì)于確定關(guān)注區(qū)域?qū)?yīng)的像素在縱向方向上的邊界橫坐標(biāo)為11和89,在橫向方向上的邊界縱坐標(biāo)為11和100的例子,可根據(jù)所確定的邊界坐標(biāo),對(duì)原始的第一圖像進(jìn)行圖像切割處理,例如去除第一圖像的第1-10行像素以及第1-10列和第90-100列像素,得到切割處理后的第三圖像,例如圖4所示圖像。
又例如,對(duì)于一幅二值化圖像中包括兩個(gè)以上關(guān)注區(qū)域的情況,可根據(jù)需要確定是按照距離二值化圖像的每邊最近的邊界坐標(biāo)將原第一圖像切割為一幅第三圖像,還是按照每個(gè)關(guān)注區(qū)域的邊界縱坐標(biāo)和邊界橫坐標(biāo)將原第一圖像切割為多幅第三圖像,使得每幅第三圖像中都只有一個(gè)占據(jù)整個(gè)畫面的關(guān)注區(qū)域。
本發(fā)明實(shí)施例通過使用radon變換方法計(jì)算圖像中關(guān)注區(qū)域的四個(gè)邊界的邊界坐標(biāo),實(shí)現(xiàn)了通過少量計(jì)算和處理步驟獲得邊界坐標(biāo),快速進(jìn)行圖像裁切,能夠獲得其中關(guān)注區(qū)域占據(jù)整個(gè)畫面且不失真的圖像。
在本發(fā)明一個(gè)實(shí)施例中,s104中根據(jù)所述變換值確定所述像素矩陣中與所述關(guān)注區(qū)域?qū)?yīng)的部分在縱向方向上和橫向方向上的邊界坐標(biāo)例如可以實(shí)施為,基于預(yù)定的邊界點(diǎn)閾值,將變換值中不小于邊界點(diǎn)閾值的變換值對(duì)應(yīng)的坐標(biāo)確定為邊界坐標(biāo)。例如,邊界點(diǎn)閾值可以設(shè)定為1020,當(dāng)對(duì)二值化矩陣的每行和每列像素進(jìn)行radon變換時(shí),可將變換值小于1020的行或列判定為屬于背景區(qū)域的像素,并將變換值為1020以上的行或列判定為屬于關(guān)注區(qū)域的像素并據(jù)此計(jì)算邊界橫左邊和邊界縱坐標(biāo)。通過本發(fā)明實(shí)施例,能夠在一定程度上克服圖像噪聲對(duì)圖像的干擾,得到邊界較為準(zhǔn)確的裁切圖像。
在本發(fā)明一個(gè)實(shí)施例中,在s102中將第一圖像處理為灰度圖像之后,還可以對(duì)灰度圖像進(jìn)行灰度均衡處理,以降低噪聲的干擾。例如對(duì)于包括高亮度相機(jī)光斑或高亮度視盤的眼底照片,可使用clahe算法限制局部對(duì)比度增強(qiáng)的幅度,從而限制噪聲放大的特性。
以上實(shí)施例以將第一圖像處理為單通道灰度圖像并進(jìn)行二值化處理得到只具有黑白兩色的二值化圖像為例對(duì)本發(fā)明進(jìn)行了說明,但本發(fā)明并不限于將第一圖像先處理為灰度圖像的方式,以下進(jìn)行詳細(xì)說明。
在本發(fā)明一個(gè)實(shí)施例中,s102中對(duì)第一圖像進(jìn)行處理獲得二值化圖像例如可以通過提取第一圖像中的預(yù)定單基色像素,得到單基色圖像作為二值化圖像。例如,對(duì)于視網(wǎng)膜圖像而言,一般背景區(qū)域?yàn)楹谏?,并且其關(guān)注區(qū)域即視網(wǎng)膜區(qū)域中紅色和黃色的比例較大,可提取視網(wǎng)膜圖像中每個(gè)像素中的紅色像素成分或黃色像素成分,得到黑色背景的紅色單基色圖像或者黃色單基色圖像作為二值化圖像。對(duì)于紅色單基色而言,二值化圖像中僅包括紅色像素值為0的黑色像素和紅色像素值為255的紅色像素。對(duì)于黃色單基色而言,二值化圖像中僅包括黃色像素值為0的黑色像素和黃色像素值為255的黃色像素。此外,也可以在得到紅色單基色圖像或黃色單基色圖像后,將圖像轉(zhuǎn)換為黑白色二值化圖像。隨后對(duì)二值化圖像進(jìn)行radon變換處理的方式參見前述。
在本發(fā)明一個(gè)實(shí)施例中,除了從第一圖像中提取單個(gè)預(yù)定單基色圖像直接或間接作為二值化圖像之外,還可以提取第一圖像中的至少兩種預(yù)定單基色像素,得到至少兩個(gè)單基色圖像作為二值化圖像,例如,可以從第一圖像中先后提取每個(gè)像素中的紅色和黃色像素成分,得到黑色背景的紅色單基色圖像和黃色單基色圖像兩者作為二值化圖像,然后分別對(duì)兩個(gè)單基色的二值化圖像對(duì)應(yīng)的兩個(gè)像素矩陣進(jìn)行上述radon變換分別獲得一組變換值,根據(jù)兩組變換值確定各像素矩陣中對(duì)應(yīng)關(guān)注區(qū)域的兩組邊界坐標(biāo),再根據(jù)兩組邊界坐標(biāo)確定最終邊界坐標(biāo)。例如,對(duì)于關(guān)注區(qū)域左右兩側(cè)存在背景區(qū)域的第一圖像,對(duì)其紅色二值化圖像確定邊界橫坐標(biāo)為11和88,對(duì)其黃色二值化圖像確定邊界橫坐標(biāo)為13和90,則確定最終邊界橫坐標(biāo)為11和90,并據(jù)此對(duì)第一圖像進(jìn)行切割處理。對(duì)于關(guān)注區(qū)域四側(cè)存在背景區(qū)域或者第一圖像中存在兩個(gè)以上關(guān)注區(qū)域的最終邊界坐標(biāo)的計(jì)算方法以此類推。
圖2為本發(fā)明另一個(gè)實(shí)施例的圖像處理方法的示意性流程圖。
如圖2所示,本發(fā)明實(shí)施例以眼科眼底照片為第一圖像對(duì)本發(fā)明進(jìn)行示例性說明。本發(fā)明實(shí)施例包括對(duì)眼底照片進(jìn)行單通道變換得到灰度圖像(s201),對(duì)灰度圖像進(jìn)行灰度均衡處理(s202)以降低噪聲的干擾,對(duì)經(jīng)過灰度均衡處理的圖像進(jìn)行二值化變換(s203)得到二值化圖像,對(duì)二值化圖像進(jìn)行上述radon變換得到二值化矩陣中每行和每列像素值的變換值,根據(jù)變換值確定第一圖像中眼球部分的邊界坐標(biāo)(s204),利用計(jì)算獲得的眼球邊界坐標(biāo)對(duì)原始眼底照片進(jìn)行去除黑邊的圖像處理(s205)后,對(duì)去黑邊的眼底照片進(jìn)行亮度自適應(yīng)增強(qiáng)處理(s206),得到處理完成的輸出圖像。其中,通過使用亮度自適應(yīng)增強(qiáng)處理,可將亮度較差的眼底照片轉(zhuǎn)換成更好曝光和細(xì)節(jié)效果的圖像,例如可對(duì)輸入圖像的亮度信息進(jìn)行分析處理,進(jìn)而獲得該圖片對(duì)應(yīng)的s型gamma曲線,例如這條曲線對(duì)輸入圖像進(jìn)行處理,自適應(yīng)的增強(qiáng)圖像亮度。
本發(fā)明實(shí)施例的圖像處理裝置包括存儲(chǔ)有指令的存儲(chǔ)器和處理器,存儲(chǔ)器例如可以為rom、ram、cache、光盤、閃存或硬盤等存儲(chǔ)裝置,處理器例如可以為cpu、微處理器等。處理器可以配置為執(zhí)行存儲(chǔ)器所存儲(chǔ)的指令以執(zhí)行如下動(dòng)作:
獲得第一圖像,第一圖像由關(guān)注區(qū)域和關(guān)注區(qū)域周圍的背景區(qū)域構(gòu)成;
對(duì)第一圖像進(jìn)行處理獲得二值化圖像;
將與二值化圖像對(duì)應(yīng)的像素矩陣分別在橫向方向上和縱向方向上進(jìn)行投影變換獲得每行和每列的變換值;
根據(jù)變換值確定像素矩陣中與關(guān)注區(qū)域?qū)?yīng)的部分在縱向方向上和橫向方向上的邊界坐標(biāo);
根據(jù)邊界坐標(biāo)將所述第一圖像切割為第三圖像。
在本發(fā)明一個(gè)實(shí)施例中,處理器可進(jìn)一步配置為執(zhí)行所存儲(chǔ)的指令以在確定所述邊界坐標(biāo)時(shí),基于預(yù)定的邊界點(diǎn)閾值,將變換值中不小于邊界點(diǎn)閾值的變換值對(duì)應(yīng)的坐標(biāo)確定為邊界坐標(biāo)。
在本發(fā)明另一個(gè)實(shí)施例中,處理器可進(jìn)一步配置為執(zhí)行所存儲(chǔ)的指令以對(duì)第三圖像進(jìn)行亮度自適應(yīng)增強(qiáng)處理得到第四圖像。
本發(fā)明實(shí)施例的圖像處理裝置對(duì)上述動(dòng)作的具體執(zhí)行過程可參見前述實(shí)施例的圖像處理方法。
以上對(duì)本發(fā)明的多個(gè)實(shí)施例進(jìn)行了說明,但本發(fā)明不限于上述具體的實(shí)施例,本領(lǐng)域技術(shù)人員在不脫離本發(fā)明精神的情況下能夠?qū)ι鲜鰧?shí)施例進(jìn)行多種修改和變型,這些修改和變型也應(yīng)落入本發(fā)明所要求保護(hù)的范圍之內(nèi)。