⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 match_blobs_keywords

📁 图像压缩解压的源码
💻
字号:
#!/usr/local/bin/perl# match_blobs - takes query string from query form, calls rank.c# incoming:# imgnum=108019&numblobs=2&b1=1,.5,1,0,0&b2=1,1,0,0,.5require "../../cgi/query_utils.p";require "../../cgi/schema.p";require "/elib/sys/bin/sql_utils_inf.p";$script_name = "blobs_query";$DEBUG = 0;  # if 1, call only DB keyword match; if 2, don't call anything$FILTER = 1;&readParse(*input) || print "<p>No input data processed.<p>\n";$imgnum         = $input{'imgnum'};$numblobs       = $input{'numblobs'};$bloblist       = $input{'bloblist'};$b1weights      = $input{'b1'};$b2weights      = $input{'b2'};$position	= $input{'position'};$num_imgs	= $input{'num_imgs'};$keywords       = $input{'keywords'};$requested_imgs = $input{'requested_imgs'};($b1_overall,$b1_col,$b1_tex,$b1_loc,$b1_sha) = split(/\,/,$b1weights);($b2_overall,$b2_col,$b2_tex,$b2_loc,$b2_sha) = split(/\,/,$b2weights);if ($numblobs eq 1) {    $overallweight  = "$b1_overall";    $featureweights = "$b1_col,$b1_tex,$b1_loc,$b1_sha";} elsif ($numblobs eq 2) {    $overallweight = "$b1_overall,$b2_overall";    $featureweights = "$b1_col,$b1_tex,$b1_loc,$b1_sha,$b2_col,$b2_tex,$b2_loc,$b2_sha";} else {    if ($keywords ne "") {   # no blobs selected, just use keywords	$overallweight = "";    } else {                 # no blobs OR keywords selected; this is an error	&print_err_msg;	exit 0;    }}printf "Content-type: text/html\n\n";if ($DEBUG) {    print "<HTML>\n";    print "<HEAD>\n";    print "<TITLE>Blob Factory</TITLE>\n";    print "</HEAD>\n";    print "<BODY>\n";    print "<h2>From cgi-bin/match_blobs_keywords ... </h2>\n";    print "Here are the results from the query form. <p>\n";    print "imgnum: $imgnum<br>\n";    print "numblobs: $numblobs<br>\n";    print "bloblist: $bloblist<br>\n";    print "blob 1 weights:  |$b1weights|<br>\n";    print "blob 2 weights:  |$b2weights|<br>\n";    print "overallweight: |$overallweight|<br>\n";    print "featureweights: |$featureweights|<P>\n";    print "number of images to query: |$num_imgs|<br>\n";    print "position: $position<br>\n";    print "keywords: |$keywords|<br>\n";    print "requested_imgs: $requested_imgs<br>\n";    print "<p><hr><p>\n";}$keywords = &strip($keywords);  # get rid of extra spaces$keywords =~ s/ and / /g;   # get rid of "and,or,not"$keywords =~ s/ or / /g;  $keywords =~ s/ not / /g;if ($keywords ne "") { # see if keywords are empty    if ($DEBUG eq 2) {	print "not sending keyword query to DB<br>\n";	$num_from_keywords = "NO_KW_NUM";	$imlist = "NO_IMLIST";	$dbtime = "NO_DB_TIME";    } else {	##### send keywords to DB to get a list of matches.	##### result --> $imlist of length $num_from_keywords        ##### also set $dbtime to time taken by DB, if possible; otherwise,        ##### set $dbtime = -1;	$dbtime = -1;	$u_k = uc($keywords);	# was	#$kw_query = "select imgnum from img_bw where diskname like '%$u_k%' or keywords like '%$u_k%' or description like '%$u_k%'";	$kw_query = "";	@words = split(/ /,$u_k);  # parse the incoming string into words	$first = 1;	foreach $word (@words) {	    if ($first eq 0) {                $kw_query = "$kw_query AND ";            }	    $kw_query = "$kw_query (diskname like '%$word%' or keywords like '%$word%' or description like '%$word%')";	    $first = 0;	}	$kw_query = "select imgnum from img_bw where $kw_query";	$tmp = &get_multiple_records($kw_query); 	$num_from_keywords = $num_matches;	open(FH, "$tmp") || die "Can't open tmp file for reading";	while(<FH>) {	    chomp($_);	    $imlist .= "$_ ";	}	close(FH);	if ($DEBUG eq 1) {	    print "<p>Database results:<p>\n";	    print "kw_query: $kw_query<p>\n";	    print "num_from_keywords: $num_from_keywords<p>\n";	    print "imlist: $imlist<p>\n";	    print "<p><hr><p>\n";	}    }}$server =  $ENV{'SERVER_PORT'};if ($server == 8080) {    $head = "/elib/sys/test/httpd";} else {    $head = "/elib/sys/httpd";}if ($overallweight eq "") { # query using just keywords    $cmd = "$head/cgi-bin/blobrank/query_keywords_only $num_from_keywords $imlist $num_imgs \"$keywords\" $dbtime $head";} elsif ($keywords ne "") { # query using blob(s) + keywords    $cmd = "$head/cgi-bin/blobrank/query_partial_randomaccess $imgnum $numblobs $bloblist $overallweight $featureweights $position $num_from_keywords $imlist $num_imgs \"$keywords\" $dbtime $head";} else { # query using just blob(s)    if ($FILTER) {	$cmd = "$head/cgi-bin/blobrank/query_filter $imgnum $numblobs $bloblist $overallweight $featureweights $position $num_imgs $requested_imgs $head";    } else {	$cmd = "$head/cgi-bin/blobrank/query_full $imgnum $numblobs $bloblist $overallweight $featureweights $position $num_imgs $head";    }}if (!$DEBUG) {    print `$cmd`;} else {    print "cmd: |$cmd|\n";    print "</BODY>\n";    print "</HTML>\n";}sub print_err_msg {    printf "Content-type: text/html\n\n";    print "<HTML>\n";    print "<HEAD>\n";    print "<TITLE>Blobworld Query</TITLE>\n";    print "</HEAD>\n";    print "<BODY bgcolor=#FFFFFF>\n";    ##print "<BODY>\n";    print "<h3>Please select a blob from the Blobworld image, ";    print "or type a keyword.</h3>\n";    print "</BODY>\n";    print "</HTML>\n";}   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -