亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OpenCV的網(wǎng)上報(bào)名系統(tǒng)照片審核功能的設(shè)計(jì)

        2022-06-06 09:16:30曹郁輝謝寬志
        關(guān)鍵詞:背景色彩功能

        曹郁輝,謝寬志

        (湖北工業(yè)職業(yè)技術(shù)學(xué)院 圖文信息中心,湖北 十堰 442000)

        在人才招聘及考試的網(wǎng)上報(bào)名過(guò)程中,報(bào)名人員上傳的照片要用于打印報(bào)名表、打印準(zhǔn)考證、辦理合格證,因此對(duì)照片有一定的要求,比如水平與垂直像素的多少、背景顏色、頭部比例,都要滿足相應(yīng)的要求。中國(guó)人事考試網(wǎng)專門(mén)提供了“照片處理工具”,為報(bào)名人員提供照片的審核和處理,以保證報(bào)名人員上傳的照片合乎報(bào)名要求。但我們?cè)趯?shí)際報(bào)名工作中發(fā)現(xiàn),由于報(bào)名人員素質(zhì)參差不齊,很多報(bào)名人員上傳的照片并沒(méi)有用“照片處理工具”進(jìn)行審核和處理,上傳的照片千奇百怪,相當(dāng)比例的照片不符合要求,給后臺(tái)審核人員的工作造成了一定的負(fù)擔(dān)。

        為減輕后臺(tái)審核人員的工作負(fù)擔(dān),我們?cè)跒槟硢挝恢谱鞯幕贘ava Web的報(bào)名系統(tǒng)中,設(shè)計(jì)了一個(gè)照片審核功能,當(dāng)報(bào)名人員上傳的照片不符合報(bào)名要求時(shí),會(huì)向報(bào)名用戶發(fā)出警告信息,拒絕上傳,直到報(bào)名人員上傳的照片合格。該功能使用圖像識(shí)別技術(shù),識(shí)別照片中的頭像;使用圖像處理技術(shù),分辨背景顏色;使用ajax技術(shù),將后臺(tái)審核結(jié)果反饋給報(bào)名人員。通過(guò)該功能的使用,大大地減輕了后臺(tái)審核人員人工審核的負(fù)擔(dān),提高了工作效率。

        1 情況分析及解決思路

        我們根據(jù)幾次報(bào)名情況,對(duì)報(bào)名人員上傳照片進(jìn)行了分析,招聘類別不同,上傳照片的合格率也不同,最差的情況下,約有百分之八十的照片不合格。雖然網(wǎng)站上醒目地告知了上傳照片的要求,但很多報(bào)名人員基本無(wú)視。我們要求的照片是標(biāo)準(zhǔn)證件照,尺寸是水平方向295像素、垂直方向413像素,背景顏色為紅、藍(lán)、白三種顏色之一。不合格的照片中百分之九十是尺寸不符合要求。剩余不合格的情況,一部分是頭部比例不合適,另一部分是背景顏色不合格。非證件照可能同時(shí)存在頭部比例和背景顏色不合適的情況。

        圖1 上傳照片的部分實(shí)例

        針對(duì)這些情況,我們采用開(kāi)源軟件庫(kù)OpenCV,設(shè)計(jì)一個(gè)照片審核功能。利用OpenCV人臉檢測(cè)的功能,審核照片是否是證件照及人臉比例是否合適;利用OpenCV的圖像處理功能,審核照片尺寸和背景顏色是否合乎要求。OpenCV是一個(gè)人工智能領(lǐng)域廣泛使用的開(kāi)源計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),該軟件庫(kù)提供了大量圖像處理和計(jì)算機(jī)視覺(jué)的通用算法,而且可以跨平臺(tái)使用,操作系統(tǒng)平臺(tái)支持windows、linux、Mac OS,處理器硬件支持intel處理器、ARM處理器等。因此,我們的設(shè)計(jì)方法不僅可以用于基于Java Web的報(bào)名系統(tǒng),對(duì)于.net、php甚至python的報(bào)名系統(tǒng)都有參考價(jià)值[1]。

        2 OpenCV的安裝

        OpenCV在windows操作系統(tǒng)下的安裝十分簡(jiǎn)單,直接從OpenCV官網(wǎng)上下載安裝即可。但我們制作的Java Web的報(bào)名系統(tǒng)是在linux操作系統(tǒng)下部署的,需要在linux操作系統(tǒng)下安裝OpenCV。linux操作系統(tǒng)安裝OpenCV的過(guò)程比較繁瑣,耗時(shí)也比較長(zhǎng),而且還有失敗的幾率,需要先安裝相應(yīng)的依賴庫(kù),再安裝編譯器對(duì)OpenCV源碼進(jìn)行編譯。不同的linux操作系統(tǒng),安裝依賴庫(kù)的方法可能會(huì)有不同,不同版本的OpenCV,使用的編譯器的版本也不盡相同。如果每次部署報(bào)名系統(tǒng)網(wǎng)站都要進(jìn)行這樣的操作,會(huì)使照片審核功能的實(shí)用性大打折扣。為此,我們使用Docker技術(shù),利用Docker可以快速交付的特點(diǎn),將報(bào)名網(wǎng)站和OpenCV同時(shí)部署在Docker容器中,打包成Docker鏡像,這樣就可以很方便地進(jìn)行重用了,解決了每次部署報(bào)名系統(tǒng)網(wǎng)站都要安裝OpenCV的問(wèn)題[2]。

        Docker操作系統(tǒng)基礎(chǔ)鏡像,建議選擇CentOS7或最新版的Ubuntu,OpenCV針對(duì)這兩種操作系統(tǒng)有比較詳細(xì)的安裝指南。編譯的時(shí)候要注意,cmake指令要帶參數(shù)-DBUILD_TESTS=OFF,這樣才能編譯出Java Web所需要的jar包。

        3 功能設(shè)計(jì)

        3.1 照片大小審核及人臉檢測(cè)

        (1)照片大小的審核。使用imread方法讀取照片,程序舉例如下:

        Mat image = Imgcodecs.imread(src);

        然后使用方法image.height()、image.width()就可以得到照片的水平像素和垂直像素,如果不滿足要求,說(shuō)明照片尺寸不合格。

        (2)人臉檢測(cè)與審核。OpenCV提供了四個(gè)經(jīng)過(guò)大數(shù)據(jù)集訓(xùn)練好的人臉?lè)诸惼?,其中的haarcascade_frontalface_alt2.xml比較適合本項(xiàng)目。

        我們?cè)谏弦徊降幕A(chǔ)上,首先使用haarcascade_frontalface_alt2.xml分類器初始化一個(gè)級(jí)聯(lián)分類器CascadeClassifier對(duì)象faceDetector,再使用detectMultiScale方法。程序舉例如下:

        String resourcePath = getClass().getResource("/haarcascade_frontalface_alt2.xml").getPath().substring(1);

        CascadeClassifier faceDetector = new CascadeClassifier(resourcePath);

        MatOfRect faceDetections = new MatOfRect();

        faceDetector.detectMultiScale(image, faceDetections);

        根據(jù)faceDetections結(jié)果進(jìn)行判斷,如果faceDetections為空,說(shuō)明沒(méi)有檢測(cè)到人臉,照片不是證件照;如果faceDetections不為空,則對(duì)faceDetections進(jìn)行枚舉,如果faceDetections枚舉的數(shù)量大于1,說(shuō)明可能有誤檢測(cè)的情況,選擇人臉框圖最大的一個(gè)來(lái)進(jìn)行判斷。

        圖2 出現(xiàn)誤檢測(cè)的情況

        枚舉方式:

        for (Rect rect : faceDetections.toArray())

        rect為人臉矩形框,屬性rect.x、rect.y為矩形框左上角坐標(biāo),屬性rect.height、rect.width為矩形框的高和寬。通過(guò)這四個(gè)屬性就可以判斷人臉比例是否合適了。

        根據(jù)我們的網(wǎng)上報(bào)名系統(tǒng)對(duì)照片的要求,設(shè)定審核參數(shù)如下:

        rect.y為人臉矩形框的上基線,該值大于50,小于150。

        rect.x和rect.x+rect.width分別為人臉矩形框的左基線和右基線,rect.x大于30,rect.x+rect.width小于265。

        rect.y+rect.height為人臉矩形框的下基線,大于220,小于340。

        rect.width為人臉矩形框的寬度,大于110,小于235。

        3.2 照片背景顏色的審核

        如果照片的背景不是純色的,很難摳出一個(gè)完整的背景來(lái)。因此我們采用對(duì)背景進(jìn)行抽樣的方式。這種方式雖然不是很完善,但還是可以審核掉一大批背景顏色不合格的照片。抽樣的區(qū)域,我們選擇左上角和右上角兩個(gè)同為水平30像素、垂直100像素的矩形區(qū)域,逐點(diǎn)進(jìn)行遍歷。顏色參考以點(diǎn)(2, 2)的顏色為基準(zhǔn),如果該點(diǎn)的顏色在紅、藍(lán)、白這三種顏色的范圍內(nèi),并且其他抽樣點(diǎn)的顏色與該點(diǎn)的顏色在一個(gè)容差范圍內(nèi),則可以認(rèn)為照片背景是合格的。

        報(bào)名人員上傳的照片都是以紅、綠、藍(lán)三原色作為色彩空間的。為了能夠判斷照片上像素點(diǎn)的顏色范圍,我們需要將紅、綠、藍(lán)的色彩空間(即RGB色彩空間)轉(zhuǎn)換為色度、飽和度、亮度的色彩空間(即HSV色彩空間)[3]。

        圖3 RGB色彩空間和HSV色彩空間

        在OpenCV中可以進(jìn)行多種色彩空間轉(zhuǎn)換,用來(lái)表示HSV的三個(gè)數(shù)值的范圍都是0到255。而實(shí)際使用當(dāng)中,H(色度)的范圍是0到360,S(飽合度)和V(亮度)的范圍都是0到100,因此需要對(duì)OpenCV的HSV三個(gè)數(shù)值進(jìn)行換算。

        將RGB色彩空間轉(zhuǎn)換為HSV色彩空間,并獲取點(diǎn)(x, y)的HSV顏色值的程序舉例如下:

        Mat image_hsv = new Mat(image.rows(), image.cols(), image.type());

        Imgproc.cvtColor(image, image_hsv, Imgproc.COLOR_BGR2HSV);

        double[] point_hsv = image_hsv.get(x, y);

        Int point_h = (int) point_hsv[0]*2;

        Int point_s = (int) point_hsv[1]*100/255;

        Int point_v = (int) point_hsv[2]*100/255;

        考慮到照片的色差,我們?cè)O(shè)定的用于審核照片的紅、藍(lán)、白三種顏色的范圍值見(jiàn)表1:

        表1 用于審核照片的紅、藍(lán)、白三種顏色的范圍值

        4 結(jié)語(yǔ)

        OpenCV使用非常廣泛,在安防、車(chē)輛管理、智能駕駛等與圖像及視覺(jué)相關(guān)的人工智能領(lǐng)域都能看到它的身影,但在Java Web中應(yīng)用的例子還不多。我們通過(guò)這個(gè)案例可以看到,引入人工智能可以大大提高工作效率。OpenCV豐富而完善的圖像識(shí)別功能和圖像處理功能,為我們開(kāi)發(fā)照片審核功能提供了極大的方便。使用該功能大大降低了后臺(tái)審核人員的工作量,同時(shí)也提高了報(bào)名人員認(rèn)真對(duì)待報(bào)名工作的意識(shí),保證了招聘人才的質(zhì)量。

        猜你喜歡
        背景色彩功能
        也談詩(shī)的“功能”
        “新四化”背景下汽車(chē)NVH的發(fā)展趨勢(shì)
        《論持久戰(zhàn)》的寫(xiě)作背景
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        神奇的色彩(上)
        晚清外語(yǔ)翻譯人才培養(yǎng)的背景
        春天的色彩
        色彩當(dāng)?shù)?俘獲夏日
        Coco薇(2015年5期)2016-03-29 23:18:25
        2015春夏鞋履色彩大集結(jié)
        Coco薇(2015年3期)2015-12-24 02:46:58
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        国产亚洲AV无码一区二区二三区| 粉嫩的18在线观看极品精品| 精品熟女av中文字幕| 亚洲精品乱码久久久久久| 99亚洲男女激情在线观看| 亚洲欧美在线观看| 自拍 另类 综合 欧美小说| 尤物AV无码色AV无码麻豆 | 亚洲AV无码乱码精品国产草莓| 蜜桃久久综合一区二区| 十八禁视频网站在线观看| 亚洲中文字幕无码一久久区 | 久久亚洲国产高清av一级| 日本xxxx色视频在线观看免费| 18分钟处破好疼哭视频在线观看| 在线视频一区二区日韩国产| 国产自拍在线视频观看| 国产激情综合五月久久| 成人午夜福利视频后入| 国产午夜成人久久无码一区二区| 久久亚洲高清观看| 日本顶级片一区二区三区 | 人妻系列无码专区久久五月天 | 亚洲中文字幕午夜精品| 亚洲欧美成人一区二区在线电影 | 日本在线看片免费人成视频1000| 粗一硬一长一进一爽一a级| 免费大学生国产在线观看p| 一二三四在线观看视频韩国| 欧美日韩在线视频| 国产成年女人特黄特色毛片免| 亚洲精品天堂av免费看| 日韩精品一区二区三区影音视频| 国产精品无码久久综合| 日韩AV不卡六区七区| 国产三级av在线播放| 日本真人添下面视频免费 | 自拍视频在线观看成人| 黄色av一区二区在线观看| 777国产偷窥盗摄精品品在线| 99久久99久久精品国产片果冻|