freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于php的圖片搜索引擎-資料下載頁(yè)

2024-11-12 15:13本頁(yè)面

【導(dǎo)讀】搜索引擎指自動(dòng)的從因特網(wǎng)上搜集信息,經(jīng)過一定整理后,提供給用戶進(jìn)行查詢的系統(tǒng)。索引擎發(fā)出查詢時(shí),搜索引擎接受查詢并向用戶返回資料。別、求解顏色分布直方圖等搜索引擎常用技術(shù)實(shí)現(xiàn)的一個(gè)簡(jiǎn)易的搜索引擎系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了如下功。該系統(tǒng)已投入實(shí)際使用并運(yùn)轉(zhuǎn)正常。

  

【正文】 圖模塊 由于本設(shè)計(jì)需要完成對(duì)圖片的顏色檢索功能,因此需要將圖像的顏色進(jìn)行提取和分解, 準(zhǔn)確的 轉(zhuǎn)化為方便用戶處理和操作的直方圖, 能夠方便快捷的查找到圖片中的各顏色的像數(shù)在總像數(shù)中的比例,從而 分析 獲取能最能代表圖片顏色特性的顏色。 ● Getimage 模塊 本設(shè)計(jì)的圖片獲取需要通過此模塊將從上一模塊中抓取的鏈 接地址檢索到所需的圖片,并對(duì)圖片進(jìn)行處理分析,將圖片處理結(jié)果返回給數(shù)據(jù)庫(kù)。在此模塊中對(duì)圖片的各種處理分析,是一個(gè)非常重要而精細(xì)的環(huán)節(jié),需要應(yīng)用都一些 PHP 語言的庫(kù)函數(shù)來實(shí)現(xiàn)這些功能。 ● 用戶界面模塊 對(duì)于界面的設(shè)計(jì),需要考慮多方面的因素,首先需要一個(gè)直觀清晰 友好的 搜索窗口 為用戶提供檢索操作的實(shí)現(xiàn);其次,對(duì)于搜索出來的圖片,需要一個(gè)整潔、清晰、合理 22 的界面來展示;另外,對(duì)于檢索到得圖片,應(yīng)該提供鏈接功能,可以查看到原始圖片或者一些其他的可行操作等。 對(duì)于用戶界面的設(shè)計(jì),有很多的講究。 總體設(shè)計(jì)和模塊分析 從系統(tǒng)結(jié)構(gòu)出發(fā),該搜索引擎系統(tǒng)需要設(shè)計(jì)四 大模塊 ,在 本節(jié) 中 一一 將 對(duì)四 大模塊進(jìn)行詳細(xì)介紹 ,系統(tǒng)總體設(shè)計(jì) 和功能界面設(shè)計(jì)分別 見圖 和圖 。 圖 系統(tǒng)總體設(shè)計(jì)圖 基于關(guān)鍵字搜索路徑: Spider 模塊 — Getimage 模塊 — Index 模塊 基于圖片顏色搜索路徑: Spider 模塊 — Getimage 模塊 — 求解圖像顏色直方圖模塊— Index 模塊 圖 簡(jiǎn)單的功能界面設(shè)計(jì)圖 網(wǎng)絡(luò)爬蟲 Spider模塊,收集網(wǎng)站鏈接地址 Getimage 模塊,從網(wǎng)站上下載圖片分析 求解直方圖模塊,獲取圖像代表顏色信息 Index模塊,圖片檢索和 圖片 顯示 對(duì) seed 表和sublinks 操作 從 sublinks 到seachimage 表 從 seachimage到 seachimage 從 seachimage表 到顯示界面 23 網(wǎng)絡(luò)爬蟲(蜘蛛)模塊的 詳細(xì)設(shè)計(jì) 該模塊是本設(shè)計(jì) 中最重要的模塊之一,其主要完成對(duì)圖片網(wǎng)站鏈接地址的采集工作,連接數(shù)據(jù)庫(kù)一起操作,從數(shù)據(jù)庫(kù) seed 表 中取圖片網(wǎng)站種子鏈接 ( seed 表中事先人工輸入一些網(wǎng)上常用的圖片鏈接網(wǎng)站地址) ,通過深度和廣度優(yōu)先法則進(jìn)行一一檢索,使 收集到最多的圖片鏈接網(wǎng)站,并將鏈接地址存儲(chǔ)在數(shù)據(jù)庫(kù)的 sublinks 表中,方便后面的圖片下載分析。 在此模塊中,要使用到數(shù)據(jù)庫(kù)的連接和操作,用 PHP 語言編寫的數(shù)據(jù)庫(kù)鏈接如下: 在 seed 表中種子鏈接內(nèi)部的檢索是通過對(duì) sublinks 表操 作實(shí)行的: $result = mysql_query(select * from sublinks where linkcheck = 0 and level.$MAX_PENETRATION. limit 0,1 ,$link)。 $subFound = mysql_num_rows($result)。 $rows = mysql_fetch_row($result)。//從查詢的結(jié)果中得到一行數(shù)據(jù) $levels=$rows[4]。 if( $subFound ==0 ){ //如果 sublinks 表中沒有查出的鏈接結(jié)果,回歸到種子鏈接表繼續(xù)下一個(gè)查詢 $result = mysql_query(select * from seed where linkcheck = 0 limit 0,1,$link)。//從種子鏈接表中查找未查詢過的網(wǎng)站 $intFound = mysql_num_rows($result)。 If ($intFound != 0) { unset($temp_link_array)。//初始化處理前的鏈接地址數(shù)組 unset($spider_array )。//初始化存儲(chǔ)處理過后的鏈接地址數(shù)組 $row = mysql_fetch_row($result)。 $SEED_URL = $row[1]。 echo $SEED_URL。 mysql_query(update seed set linkcheck = 1 where sid =.$row[0] ,$link)。 mysql_data_seek($result,0)。//指針回歸 echo Harvesting Seed URL \n。 $temp_link_array = harvest_links($row[1])。//收獲主頁(yè)中的所有鏈接 $spider_array = archive_links($spider_array, 0, $temp_link_array)。 //處理無用(重復(fù)、根地址指向其他網(wǎng)站的)鏈接 echo count($spider_array[0])。 for($xx=0。 $xxcount($spider_array[0])。 $xx++) {//把處理過后的鏈接地址等數(shù)據(jù)插入數(shù)據(jù)庫(kù)中的 sublinks 表中 $link = mysql_connect(localhost,root,123456)。 mysql_query(use searchdb)。 24 $result=mysql_query(select * from sublinks where subaddress=39。.$spider_array[0][$xx].39。 limit 0,1,$link)。 //審核 sublinks 表中的鏈接地址是否與新獲取的地址重復(fù) $intFound = mysql_num_rows($result)。 if( $intFound==0){//將不重復(fù)的記錄插入 sublinks 表中 $sql=insert into sublinks(subaddress,linkcheck,imagecheck,level) values(39。.$spider_array[0][$xx].39。,0,0,0)。 mysql_query($sql,$link)。// } } 上面程序段完成了鏈接地址檢索,收集處理并存 儲(chǔ)的過程,其中在對(duì)圖片的處理時(shí),把一些重復(fù)、根地址指向其他網(wǎng)站的鏈接過濾了,另外,其中的 linkcheck 是作為鏈接地址是否檢索過的標(biāo)志,檢索完畢,置 1,否則為 0。在 seed 表中的查詢類似,在此不一一贅述。 該模塊的簡(jiǎn)易流程圖 見圖 , seed 表和 subLinks 表 的檢索流程圖見圖 和圖 。 25 圖 Spider 模塊主流程圖 圖 seed 表檢索流程圖 在 seed 表中取一未檢索過的種子鏈接 初始化數(shù)組 收獲鏈接地址對(duì)應(yīng)網(wǎng)站 的所有鏈接,處理無用鏈接 xx 有用鏈接數(shù) xx重復(fù)鏈接? 將鏈接記錄插入sublinks 表中 Y N Y seed 中有未查鏈接 Y 回歸到種子列表查找 N N 結(jié)束 查詢下一種子鏈接 Sublinks 表中有未檢索完的 收獲當(dāng)前鏈接地址對(duì)應(yīng)主頁(yè)上的所有鏈接 對(duì)獲取的鏈接地址進(jìn)行處理后存入 sublinks表中 N 結(jié)束 檢索 seed 表是否完成 N Y Y 鏈接到數(shù)據(jù)庫(kù) 開始 26 圖 subLinks 表檢索流程圖 查出未檢索過且層數(shù)小于 10 的鏈接,項(xiàng)目數(shù)為 subFound subFound !=n 取 一個(gè)鏈接地址,取根地址,初始化鏈接地址數(shù)組 收獲鏈接地址對(duì)應(yīng)網(wǎng)站中的所有鏈接,處理無用鏈接 xx 有用鏈接數(shù) xx 重復(fù)鏈接? 將 鏈接 記 錄插 入sublinks 表中 Y Y N Y N N 回歸到種子接表 seed 查詢, linkcheck = 1 27 求解圖像顏色直方圖模塊詳細(xì)設(shè)計(jì) 此模塊主要完成基于圖片顏色搜索的功能,對(duì)于如何求解圖像顏色直方圖可參考論文第一部分有關(guān)技術(shù)和源代碼的詳細(xì)介紹。其中在將圖像轉(zhuǎn)換為直方圖的過程中,應(yīng)用了 h 和 s 兩個(gè)分量,在本設(shè)計(jì)中,為求解簡(jiǎn)單和方便,將 h 分量劃分為 12 個(gè)等級(jí),代表直方圖中 12 種顏色, s 分量劃分為兩個(gè)等級(jí),代表每種顏色包含兩個(gè)顏色梯度等級(jí);設(shè)置直方圖顯示圖像的高度 height = 240,寬度 width = 1024,即將圖像中每種顏色像數(shù)統(tǒng)計(jì)值 bin_val 按 240*1024 的比例轉(zhuǎn)換成直方圖后,最能代表圖像的顏色在直方圖中的高度值( intensity)為 240。在這里,我們就還應(yīng)該考慮到白色的影響,由于一般用戶搜索以白色為主色調(diào)的圖像情況極少,所以在此設(shè)計(jì)中特意添加了剔除白色作為圖像代表顏色的情況,白色對(duì)應(yīng)的 R ==255; G==255 ; B==255。經(jīng)過對(duì)圖像直方圖進(jìn)行分析后,獲取圖像的代表顏色,并得到其對(duì)應(yīng)的 R、 G、 B 值和 bin_val 值,分別存入數(shù)據(jù)庫(kù)searchimage 表中的 R、 G、 B 和 pixsum 變量。該模塊的程序流程圖 見 , 分析圖像直方圖獲取圖像代表顏色源代碼如下: ( greaterint( ) )。//按降序排列 for(int h = 0。 h h_bins。 h++) { for(int s = 0。 s s_bins。 s++) { int i = h*s_bins + s。 //獲得直方圖中的統(tǒng)計(jì)次數(shù),計(jì)算顯示在圖像中的高度 float bin_val = cvQueryHistValue_2D( hist, h, s )。 int intensity = cvRound(bin_val*height/max_value)。 //獲得當(dāng)前直方圖代表的顏色 cvSet2D(hsv_color,0,0,cvScalar(h* / h_bins,s*,255,0))。 cvCvtColor(hsv_color,rgb_color,CV_HSV2BGR)。 CvScalar color = cvGet2D(rgb_color,0,0)。 c1_Iter = ( )。 //取鏈表中的最大值 if((*c1_Iter)==intensity){//如果為最大值,獲取其 RGB 值 b=[0]。 g=[1]。 r=[2]。 printf(%ud,%ud,%ud\n,r,g,b)。 mpixsum=bin_val。 } cvRectangle( hist_img, cvPoint(i*bin_w,height), cvPoint((i+1)*bin_w,height intensity), color, 1, 8, 0 )。 } } 28 圖 求解圖像顏色分布直方圖模塊流程圖 開始 鏈接到數(shù)據(jù)庫(kù), 從searchimage 查詢 出還未顏色檢索過的圖片 下載未檢索過的圖片,并將 searchimage 表中colorcheck 字段標(biāo) 1 設(shè)置 h、 s 分量,將圖像轉(zhuǎn)換成顏色直方圖 h++。 hhbins。 h_bins, 由分量 h、 s 確定直方圖中的顏色轉(zhuǎn)換成RGB s++; s sbins。 Y Y N N 按 各顏色高度值 降序排,取最大值,并獲取其 RGB 值 將圖像的 RGB 值和pixsum 值存入數(shù)據(jù)庫(kù)的 searchimage 表中 if(b==255amp。amp。g==255amp。amp。b== 255) Y 舍去 N 結(jié)束 29 Getimage 模塊詳細(xì)設(shè)計(jì) 本模塊的設(shè)計(jì)流程圖如 圖 。 圖 Getimage 模塊流程圖 此模塊主要完成從 sublinks 表中收集的鏈接地址里獲取圖片,應(yīng)用了分詞技術(shù) ,其算法分析如下: 開始 取一條未檢索鏈接,找出鏈接下的所有圖片地址 下載圖片進(jìn)行分析 鏈接到數(shù)據(jù)庫(kù) Sublinks 中有未檢索的鏈接 將分析結(jié)果存入數(shù)庫(kù) seachimage 表中 結(jié) 束 Y N 30 1 鏈接到數(shù)據(jù)庫(kù), 從數(shù)據(jù)庫(kù)的 sublinks 表中取一個(gè)鏈接地址 2 找出這個(gè)鏈接地址也就是這個(gè)網(wǎng)頁(yè)中
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1