• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種顏色直方圖計(jì)算相似度的資產(chǎn)圖片核對(duì)算法

      2018-05-23 11:46王寧邦徐博夏百川夏娜邰永航李瓊

      王寧邦 徐博 夏百川 夏娜 邰永航 李瓊

      摘 要: 固定資產(chǎn)清查是高校、企事業(yè)、科研院所等的一項(xiàng)例行性工作,資產(chǎn)清查過(guò)程中一般要求對(duì)固定資產(chǎn)拍照存檔。資產(chǎn)清查收集到的資產(chǎn)圖片保存至文件夾,其中有成千上萬(wàn)張資產(chǎn)圖片,需要從中挑出來(lái)一部分資產(chǎn)圖片丟棄,且需要被挑出來(lái)的資產(chǎn)有圖有真相地存放在其它文件夾,同時(shí)2個(gè)文件夾中資產(chǎn)圖片文件名、清晰度、大小等均不一,針對(duì)如何快速完成這個(gè)圖片文件挑選過(guò)程,文中提出一種基于顏色直方圖的資產(chǎn)圖片相似度統(tǒng)計(jì)核對(duì)算法,并對(duì)其過(guò)程進(jìn)行了驗(yàn)證,證明了算法的有效性。

      關(guān)鍵詞: 資產(chǎn)清查;顏色直方圖;圖片相似度

      Abstract:Fixed assets inventory is a routine work in colleges and universities enterprise and institution research institutes etc.. In the process of asset inventory it is generally required to take photos of fixed assets.There are thousands of images in the asset-image file collected by asset assessment. As required part of the assets should be picked out and these picked assets need to be put into another file meanwhile its asset images in two folders have different file name definition and size. Aiming at how to complete the process quickly this paper puts forward the algorithm based on color histogram for gathering statistics and checking asset image similarity. After that the process is verified and the effectiveness of the algorithm is also proved.

      Key words: asset inventory;color histogram;picture similarity

      引言

      隨著多媒體技術(shù)及Internet技術(shù)的迅速發(fā)展 各行各業(yè)對(duì)圖像的使用日益廣泛 圖像信息資源的管理和檢索也越發(fā)重要。通過(guò)手工標(biāo)記和索引圖像的傳統(tǒng)方法已經(jīng)難以滿足現(xiàn)實(shí)需求,因而亟待設(shè)計(jì)推出有效研發(fā)方法。目前,顏色直方圖的應(yīng)用研究普遍存在于圖像檢索、目標(biāo)跟蹤粒子濾波[1]、遙感等各個(gè)領(lǐng)域。其中,王向陽(yáng)[2]等人基于視覺(jué)權(quán)值的分塊顏色直方圖圖像相似度計(jì)算提出了一種新方法用于圖像檢索;姜蘭池[3]等也發(fā)表了一種新的基于HSV非均勻量化分塊顏色直方圖的圖像檢索方法;胡屹群[4]等人結(jié)合視覺(jué)詞袋模型和顏色直方圖探討給出了一種遙感影像檢索方法;張俊杰[5]等人利用顏色直方圖進(jìn)行二次識(shí)別實(shí)現(xiàn)了排除誤檢區(qū)域和敵我識(shí)別雙重功能;邵建荃[6]將顏色直方圖、SURF特征、時(shí)間信息三者相結(jié)合進(jìn)行車(chē)輛跟蹤。

      固定資產(chǎn)清查是高校、企事業(yè)、科研院所等部門(mén)的一項(xiàng)常規(guī)例行性工作,資產(chǎn)清查過(guò)程中一般要求對(duì)固定資產(chǎn)拍照存檔。資產(chǎn)清查將收集到的資產(chǎn)圖片保存至文件夾,其數(shù)目甚至可達(dá)成千上萬(wàn)張,需要從中挑選出一部分資產(chǎn)圖片,且將這部分資產(chǎn)圖片及詳情資料存放在其它文件夾,與此同時(shí)2個(gè)文件夾中資產(chǎn)圖片文件名、清晰度、大小等均為不一。針對(duì)如何減少人工消耗并明顯縮短圖片文件挑選過(guò)程時(shí)間,文中設(shè)計(jì)提出了一種基于顏色直方圖相似度計(jì)算的資產(chǎn)圖片核對(duì)算法。

      1 顏色直方圖的相似度計(jì)算方法原理

      通過(guò)將原始圖像與待比較圖像的像素?cái)?shù)據(jù)進(jìn)行采集,生成特定的直方圖數(shù)據(jù),運(yùn)用巴氏系數(shù)[7-10](Bhattacharyya coefficient)算法,計(jì)算出2個(gè)圖像的相似程度,數(shù)值在[0 1]之間,0表示極其不同,1表示極其相似(相同)。

      1.1 直方圖計(jì)算

      文中采用的是單一直方圖,每個(gè)顏色的值范圍為0 ~ 255。假定將顏色分為一定范圍等份,如果分為16等份的話,此時(shí)每個(gè)等份值范圍為16,再假設(shè)RGB值為(14 68 221),16等份后,其所對(duì)應(yīng)直方圖索引值(index)分別為: (0 4 13)。研究推得,索引值的計(jì)算公式為:

      1.2 巴氏系數(shù)計(jì)算

      巴氏系數(shù)[3]數(shù)學(xué)運(yùn)算公式為:

      其中,p p′分別表示原始與待比較的圖像直方圖數(shù)據(jù),對(duì)2個(gè)圖像中的每一個(gè)第i部分?jǐn)?shù)據(jù)點(diǎn)相乘后進(jìn)行開(kāi)平方再相加得到的值就是圖像相似度值。

      2 資產(chǎn)核對(duì)算法設(shè)計(jì)流程與實(shí)現(xiàn)

      2.1 算法流程

      (1)初始化待處理數(shù)據(jù)源、比較數(shù)據(jù)源、目標(biāo)數(shù)據(jù)結(jié)果。

      (2)分析處理內(nèi)容為:

      ① 提取待處理數(shù)據(jù)源中一張圖片,與目標(biāo)數(shù)據(jù)源進(jìn)行圖像匹配,達(dá)到設(shè)定閾值的圖片便是目標(biāo)數(shù)據(jù),將該目標(biāo)文件復(fù)制到指定文件夾;

      ②如果待處理數(shù)據(jù)源資產(chǎn)還未為空,則循環(huán)執(zhí)行 ①。

      2.2 實(shí)現(xiàn)過(guò)程

      (1)開(kāi)始;讀取文件(待處理圖片文件、比較對(duì)象圖片文件)路徑。

      (2)打開(kāi)待處理圖片文件。

      (3)打開(kāi)比較對(duì)象圖片文件。

      (4)比較2張圖片相似度。

      (5)將比較結(jié)果提供一定處理:復(fù)制、刪除等。

      (6)循環(huán)以上讀取到復(fù)制的過(guò)程;結(jié)束。

      2.3 重點(diǎn)程序代碼設(shè)計(jì)

      (1)核心代碼處理。研發(fā)代碼如下:

      String fileurl = "C:\\Tepfile\\backgrounds";

      String fileurl2 = "C:\\Tepfile\\image";

      ArrayList anArray = ReadFile.traverseFolder1(fileurl);

      ArrayList anArray2 = ReadFile.traverseFolder1(fileurl2);

      for (int i = 0;i < anArray.size();i++) {

      try {

      sourceImage = null;

      sourceImage = ImageIO.read(new File InputStream(anArray.toArray()[i].toString()));

      this.repaint();

      } catch (FileNotFoundException e1) {

      e1.printStackTrace();

      } catch (IOException e1) {

      e1.printStackTrace();

      }

      repaint();

      for (int i1 = 0;i1 < anArray2.size();i1++) {

      try {

      candidateImage = null;

      candidateImage = ImageIO.read(new FileInputStream(anArray2.toArray()[i1].toString()));

      ImageComparer imageCom = new Image Comparer(sourceImage,candidateImage);

      similarity = imageCom.modelMatch();

      System.out.println(similarity);

      this.repaint();

      } catch (FileNotFoundException e1) {

      e1.printStackTrace();

      } catch (IOException e1) {

      e1.printStackTrace();

      }

      }

      }

      (2)相似度計(jì)算。研發(fā)代碼可見(jiàn)如下:

      public double modelMatch() {

      HistogramFilter hfilter = new HistogramFilter();

      float[] sourceData = hfilter.filter(source Image null);

      float[] candidateData = hfilter.filter(candidate Image null);

      double[] mixedData = new double[source Data.length];

      for(int i=0;i

      mixedData[i] = Math.sqrt(sourceData[i] * candidateData[i]);

      }

      double similarity = 0;

      for(int i=0;i

      similarity += mixedData[i];

      }

      return similarity;

      }

      (3)直方圖數(shù)據(jù)采集。實(shí)現(xiàn)時(shí)可運(yùn)行如下代碼:

      public float[] filter(BufferedImage src BufferedImage dest) {

      int width = src.getWidth();

      int height = src.getHeight();

      int[] inPixels = new int[width*height];

      float[] histogramData = new float[redBins * greenBins * blueBins];

      getRGB( src 0 0 width height inPixels );

      int index = 0;

      int redIdx = 0 greenIdx = 0 blueIdx = 0;

      int singleIndex = 0;

      float total = 0;

      for(int row=0;row

      int ta = 0 tr = 0 tg = 0 tb = 0;

      for(int col=0;col

      index = row * width + col;

      ta = (inPixels[index] >> 24) & 0xff;

      tr = (inPixels[index] >> 16) & 0xff;

      tg = (inPixels[index] >> 8) & 0xff;

      tb = inPixels[index] & 0xff;

      redIdx = (int)getBinIndex(redBins tr 255);

      greenIdx = (int)getBinIndex (greenBins tg 255);

      blueIdx = (int)getBinIndex(blueBins tb 255);

      singleIndex = redIdx + greenIdx * redBins + blueIdx * redBins * greenBins;

      histogramData[singleIndex] += 1;

      total += 1;

      }

      }

      for (int i = 0;i < histogramData.length;i++)

      {

      histogramData[i] = histogramData[i] / total;

      }

      return histogramData;

      }

      private float getBinIndex(int binCount int color int colorMaxValue) {

      float binIndex = (((float)color)/ ((float) colorMaxValue)) * ((float)binCount);

      if(binIndex >= binCount)

      binIndex = binCount- 1;

      return binIndex;

      }

      public int[] getRGB( BufferedImage image int x, int y, int width, int height int[] pixels ) {

      int type = image.getType();

      if ( type == BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )

      return (int [])image.getRaster().getDataElements( x y width height pixels );

      return image.getRGB( x y width height pixels 0 width );

      }

      3 算法驗(yàn)證

      過(guò)程處理的運(yùn)行界面如圖1所示。

      顏色直方圖是在許多圖像檢索系統(tǒng)中已獲得廣泛采用的顏色特征,算法簡(jiǎn)單方便,經(jīng)過(guò)多次試驗(yàn),如圖1中相似度為0.955 325 295 373 811 1的情況,是由于2個(gè)資產(chǎn)的色調(diào)高度相同所致,所以研究將最高閾值設(shè)置為大于等于0.999 999 99,即只有相似度到達(dá)這個(gè)數(shù)值,才會(huì)判定為是2個(gè)相同的資產(chǎn)。閾值的設(shè)定需要自定義。

      實(shí)驗(yàn)?zāi)M從16張資產(chǎn)圖片中挑選出7張,相似度計(jì)算數(shù)值如圖2所示,可見(jiàn)其中有一張相似度近似為1滿足丟棄的要求。

      資產(chǎn)圖片相似度計(jì)算過(guò)程耗時(shí)則如圖3所示。

      4 結(jié)束語(yǔ)

      文中針對(duì)國(guó)有資產(chǎn)清查事件中遇到的圖片核對(duì)過(guò)程工作量大等特點(diǎn),設(shè)計(jì)提出了基于顏色直方圖相似度計(jì)算的資產(chǎn)核對(duì)算法。首先分析探討顏色直方圖的基礎(chǔ)算法原理,而后論述了文中研發(fā)的算法流程和實(shí)現(xiàn)過(guò)程,最后則對(duì)算法的應(yīng)用進(jìn)行了有效性驗(yàn)證。雖然顏色直方圖算法簡(jiǎn)單、應(yīng)用普遍,也高效達(dá)成了預(yù)期研究指定的資產(chǎn)清查圖片核對(duì)的任務(wù)內(nèi)容,但是相似度計(jì)算過(guò)程表現(xiàn)出耗時(shí)長(zhǎng)的特點(diǎn),這是接下來(lái)可以進(jìn)一步研究和改進(jìn)的方向。

      參考文獻(xiàn)

      [1] 陶立超,趙宇明. 基于分塊顏色直方圖和粒子濾波的物體跟蹤[J]. 計(jì)算機(jī)工程與應(yīng)用,2012,48(7):165-168.

      [2] 王向陽(yáng),楊紅穎,鄭宏亮,等. 基于視覺(jué)權(quán)值的分塊顏色直方圖圖像檢索算法[J]. 自動(dòng)化學(xué)報(bào),2010(10):1489-1492.

      [3] 姜蘭池,沈國(guó)強(qiáng),張國(guó)煊. 基于HSV分塊顏色直方圖的圖像檢索算法[J]. 機(jī)電工程,2009,26(11):54-57.

      [4] 胡屹群,周紹光,岳順,等. 利用視覺(jué)詞袋模型和顏色直方圖進(jìn)行遙感影像檢索[J]. 測(cè)繪通報(bào),2017(1):53-57.

      [5] 張俊杰,丁淑艷,李倫波. 基于類(lèi)Haar特征和顏色特征的NAO機(jī)器人識(shí)別[J]. 計(jì)算機(jī)與現(xiàn)代化,2017(2):30-35.

      [6] 邵建荃. 非重疊場(chǎng)景下多攝像機(jī)車(chē)輛跟蹤研究[J]. 現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版),2017(2):49-53.

      [7] BHATTACHARYYA A. On a measure of divergence between two statistical populations defined by their probability distributions[J]. Bulletin of the Calcutta Mathematical Society,1943,35: 99-109.

      [8] 王寧邦,劉江濤,梁紅飛,等. Cacti在可視化校園網(wǎng)絡(luò)管理中的應(yīng)用[J]. 云南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,27(2):129-130.

      [9] 王寧邦,徐博. 一種桌面門(mén)戶(hù)移動(dòng)化解決方法[J]. 昆明冶金高等專(zhuān)科學(xué)校學(xué)報(bào),2017,33(3):53-58.

      [10]徐博,王寧邦,陳彬,等. 網(wǎng)絡(luò)設(shè)備故障解決一體化平臺(tái)初探[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(8):24,26.

      武山县| 玉门市| 寻乌县| 肇源县| 武川县| 宝清县| 五莲县| 察隅县| 电白县| 梁山县| 甘南县| 本溪市| 慈利县| 波密县| 偏关县| 清水河县| 北碚区| 长武县| 邵阳县| 十堰市| 两当县| 镶黄旗| 南平市| 石楼县| 龙门县| 汉中市| 永胜县| 莱西市| 岳普湖县| 托里县| 乌拉特前旗| 崇州市| 梁平县| 玉田县| 综艺| 威信县| 湘潭县| 通化市| 大英县| 长岛县| 郑州市|