㈠ 用於圖像分割的CNN
姓名:閆偉 學號:15020150038
【嵌牛導讀】:在計算機視覺領域,圖像分割指的是為圖像中的每個像素分配一個標簽的任務,它也可以被看作是dense prediction task,對圖像中每個像素進行分類。和使用矩形候選框的目標檢測不同,圖像分割需要精確到像素級位置,因此它在醫學分析、衛星圖像物體檢測、虹膜識別和自動駕駛汽車等任務中起著非常重要的作用。
【嵌牛鼻子】:圖像分割 CNN 語義分割
【嵌牛提問】:如何利用CNN對圖像進行分割?
【嵌牛正文】:
隨著深度學習的不斷發展,近年來圖像分割技術也在速度和准確率上迎來了一次次突破。現在,我們能在幾分之一秒內完成分割,同時保證極高的准確性。在這篇文章中,我們將介紹一些用於圖像分割的主要技術及其背後的簡單思路。我們將從最基礎的語義分割(semantic segmentation)開始,慢慢進階到更復雜的實例分割(instance segmentation)。
目標檢測、語義分割和實例分割
語義分割
語義圖像分割是為圖像中的每個像素分配語義類別標簽的任務,它不分割對象實例。現在,處理這類任務的主流方法是FCN及其衍生,所以我們先從FCN看起。
全卷積網路(FCN)
FCN架構
創建FCN的方法很簡單,我們只需把CNN里的所有全連接層替換成寬高1×1的卷積層,這時卷積層的filter數量等於全連接層的神經元(輸出)數量,所有層都是卷積層,故稱全卷積網路。之所以要這么做,是因為每個像素的空間位置對於分割來說都很重要,而卷積層能分類全連接層無法處理的單個像素。作為處理結果,神經網路較高層中的位置會對應於它們路徑連接的圖像中的位置,即它們的感受野。
如上圖所示,FCN的架構非常簡單,主要由編碼器CNN(以VGG為例)構成,只不過其中和分類網路對應的最後三層被改成了(4096,1,1)(4096,1,1)(N+1,1,1)的卷積層(N表示類別數量)。編碼器後是一個解碼器網路,它只包含一個反向的卷積層(也稱為轉置卷積transposed convolution或反卷積deconvolution)。它的輸出與輸入圖像具有相同的空間維度,並具有N+1個通道,每個通道預測一個類別。
反向的卷積操作
仍以VGG為例,由於前面采樣部分過大,有時候會導致後面進行反向卷積操作得到的結果解析度較低,會出現細節丟失等問題。為此,FCN的解決方法是疊加第三、四、五層池化層的特徵,以生成更精準的邊界分割。如下圖所示:
需要注意的一點是,在進行上采樣之前,所有池化特徵都會先通過(N+1,1,1)這個卷積層。
FCN分割效果
U-NET
U-NET架構
U-NET常被用於生物醫學圖像分割,它遵循了FCN的編碼器-解碼器結構,不使用任何全連接層。如上圖所示,常規情況下,U-NET的編碼器是一個包含10個卷積層的CNN,中間包含最大池化層(紅色箭頭)。它的解碼器會對feature map進行多次上采樣和卷積,目的是為了提取更高效、更抽象的特徵。得到heatmap後,U-NET最後再用1×1的卷積層做分類,也就是說解碼器一共有13層,整個架構總共由23層可學習的卷積層組成。
為什麼要做上采樣?
答:池化層會丟失圖像信息和降低圖像解析度且是不可逆的操作,對圖像分割任務有一些影響。上采樣可以補足一些圖片的信息,但是信息補充的肯定不完全,所以還需要與左邊的解析度比較高的圖片相連接起來(直接復制過來再裁剪到與上采樣圖片一樣大小),這就相當於在高解析度和更抽象特徵當中做一個折衷,因為隨著卷積次數增多,提取的特徵也更加有效,更加抽象。—— jianyuchen23
SEGNET
SegNet架構
SegNet的全稱是「用於圖像分割的深度卷積編碼器-解碼器架構」,事實上,大多數語義分割方法都遵循這種基本架構,它們的編碼器都是用VGG16,解碼器都仿照U-NET——多次上采樣後再卷積。但是,SegNet有自己獨到的特點:
上采樣是不可學習的
解碼器使用和編碼器相同的卷積(filter大小和相應層的通道數量)
SegNet中的上采樣是一種反向最大池化操作。為了補足圖像信息,U-NET會對編碼階段的特徵做通道降維,再把它和特徵反向卷積後得到上采樣進行相加,這一過程需要學習。而SegNet採用的方法是記錄下編碼階段的最大池化index,比如在某層移動2×2的最大池化窗口時最高值像素的位置,然後把這個index用於解碼階段的上采樣。空白的值用0填充:
SegNet上采樣
在這個稀疏feature map進行正常卷積後,我們就能得到密集feature map。因此相比較FCN,SegNet的內存利用率更高,計算效率也更高。
需要注意的是,一般來說,解碼器每一層的輸入通道數和feature map大小都與其對應的編碼器相同,但第一層不是。編碼器的第一層都3個輸入通道(RGB),但解碼器第一層有更多通道,這是為了給每個類別生成分割掩膜。
用SegNet進行道路場景分割
實例分割
所謂實例分割,指的就是結合了語義分割和分類的任務。它在本質上更復雜,因為為了區分同一類的不同實例,我們往往需要為每個獨立對象創建單獨的、縮小的掩膜,然後再把它的大小調整為輸入圖像中對象的大小。
下面是實例分割的一些常用方法。
DEEPMASK
DeepMask架構
DeepMask是FAIR於2015年提出的一種實例分割方法,輸入一張圖片後,它能為子圖像塊(image patch)中的對象生成56×56的分割掩膜,並以掩膜為中心進行分類。對於圖像的子圖像塊,它有兩個約束:
子圖像塊中必須包含一個大致居中的對象
這個對象必須被完整包含在子圖像塊中,且在給定的比例范圍內
由於DeepMask一次只能為子圖像塊分割一個對象,當它處理包含復雜、重復對象的圖像時,它會在多個位置以多個比例密集應用。鑒於以上兩個約束條件,這是可以理解的,也是必要的。
整個模型由VGG-A構成,它保留了兩個全連接層,但刪去了最後一個最大池化層,共有8個卷積層和4個池化層。模型輸出的下采樣因子為16,共有2個輸出,一是子圖像塊對應物體的一個掩膜,二是這個子圖像塊包含一個物體的得分。
DeepMask分割效果
Multi-task Network Cascades(MNC)
MNC架構,右上為簡化原理圖
MNC不直接進行實例分割,它把這個任務分成了三個更小、更簡單的子任務:
區分實例。這個子任務的目標是為每個實例預測候選框和候選框是否包含對象的概率;
估計掩膜。這個子任務的目標是預測對象的像素級掩膜;
對對象進行分類。這個子任務的目標是為每個掩膜級實例預測類別標簽。
這三個子任務不是並行執行的,它們要按照順序一個個完成,這也是MNC的全稱「多任務網路級聯」的原因。模型用移除了所有全連接層的VGG-16處理輸入圖像,生成feature map,作為三個子任務的共用數據。
子任務1:預測實例候選框
首先,神經網路以窗口的形式提取對象實例,這些候選框不包含分類預測信息,但有一個包含/不包含對象的概率。這是個全卷積的子網路,結構類似RPN。
子任務2:估計實例掩膜
基於子任務1返回的候選框預測,模型再用ROI pooling從共享卷積特徵中提取該候選框的特徵,之後是兩個全連接層(fc),第一個fc負責把維度降到256, 第二個fc負責回歸像素級的掩膜。掩膜的預定義解析度是M×M,這和DeepMask中使用的預測方法有些類似,但不同的是MNC只從幾個候選框中回歸掩膜,計算成本大大降低。
子任務3:對實例進行分類
現在模型有了子任務1給出的候選框預測,也有了子任務2用ROI pooling提取的feature map,之後就是基於掩膜和候選框預測實例類別。
這是兩條並行路徑。在基於掩膜的路徑中,ROI提取的feature map被子任務2預測的掩膜「覆蓋」,使模型更關注預測掩膜的前景特徵,計算乘積後,將特徵輸入兩路4096維的fc層。在基於候選框的路徑中,用ROI pooling提取的特徵被直接傳遞到4096維的fc層(圖中未畫出),目的是為了解決特徵大幅被掩模級通道「覆蓋」的情況(如目標對象很大)。之後,基於掩膜和基於候選框的路徑被連接起來,緊接著是N+1類的Softmax分類器,其中N類是物體,1類是背景。
MNC分割效果
即便是這么復雜的架構,整個網路也是可以端到端訓練的。
INSTANCEFCN
InstanceFCN是FCN的改進版,它不僅在語義分割任務上表現出色,在實例分割上也有不錯的結果。之前我們提到過,FCN的每個輸出像素是一個類別的分類器,那麼InstanceFCN的每個輸出像素就是實例相對位置的分類器。例如,下圖被分為9塊區域,在其中的第6個得分圖中,每個像素就是對象是否在實例右側的分類器。
試想一下,如果圖像中只有一個實例,分割過程會很簡單;如果有多個重疊實例,那麼我們就得先區分實例,然後再進行分割。相比FCN,InstanceFCN的最大改進是引入相對位置,它在輸入圖像上生成k2實例敏感分數圖,每個分數圖對應於特定的相對位置,這就實現了相同位置不同語義的預測。
為了從這些分數圖上生成圖像實例,InstanceFCN在這組分數圖上用了一個m×m的滑動窗口。在這個滑動窗中,每一個m/k×m/k的子窗口直接從相應的分數圖中同樣的子窗口復制那一部分數值。之後這組子窗口按照相對位置拼起來就得到了m×m的結果。 這一部分被稱為實例組合模塊(instance assembling mole) 。
模型的架構包括在輸入圖像上用VGG-16做特徵提取。在輸出的feature map頂部,有兩個全卷積分支:一個用來估計分割實例(如上所述),另一個用來對實例進行評分。
InstanceFCN架構
如上圖所示,對於第一個分支,模型先採用一個512維的1×1卷積層轉換特徵,然後用3x3的卷積層生成一組k2實例敏感分數圖。這個實例組合模塊負責在解析度為m×m(m=21)的滑動窗中預測分割掩膜。
對於第二個分支,模型先採用一個512維的3×3卷積層,後面跟隨一個1x1的卷積層。這個1x1的卷積層是逐像素的邏輯回歸,用於分類以像素為中心的m×m滑動窗口中的對象是/不是實例。因此,這個分支的輸出是對象分數圖,其中一個分數對應於生成一個實例的一個滑動窗口,所以它對不同的對象類別會「視而不見」。
InstanceFCN分割效果
FCIS
正如InstanceFCN是對FCN的改進,完全卷積實例感知語義分割(FCIS)也是在InstanceFCN基礎上做出的進一步優化。上節我們說道,InstanceFCN預測分割掩膜的解析度都是m×m,而且沒法將對象分類為不同類別。FCIS解決了這兩個問題,它既能預測不同解析度的掩膜,也能預測不同的對象類別。
FCIS實例敏感分數圖
給定ROI,首先用InstanceFCN的實例組合模塊生成上述分數圖。對於ROI中的每個像素,有兩個任務(所以要生成兩個分數圖):
檢測:它是否在某相對位置的對象檢測候選框內,是(detection+),否(detection-)
分割:它是否在對象實例的邊界內,是(segmentation+),否(segmentation-)
基於上述任務,這時出現了三種情況:
內部得分高,外部得分低:detection+,segmentation+(像素點位於ROI中的目標部分)
內部得分低,外部得分高:detection+,segmentation-(像素點位於ROI中的背景部分)
兩個得分都很低:detection-,segmentation-(像素點不在ROI中)
對於檢測,我們可以用取最大值把前兩種情況(detection+)和情況3(detection-)區分開。整個ROI的得分是求取最大值得到分數圖的所有值的平均數,之後再通過一個softmax分類器。對於分割,softmax可以區分情況1(segmentation+)和其他情況(segmentation-)。ROI的前景掩膜是每個類別每個像素分割分數的合並。
FCIS架構
FCIS分割效果
MASK R-CNN
MASK R-CNN是目標檢測模型Faster R-CNN的進階版,它在後者候選框提取的基礎上添加了一個並行的分支網路,用預測分割掩膜。這個分支網路是個共享feature map的FCN,它為每個ROI提供Km2 維的輸出,其中K對應類別個數,即輸出K個掩膜,m對應池化解析度。這樣的設計允許網路為每個類別生成掩膜,避免了不同類實例之間因重疊產生混淆。此外,分類分支是直接在掩膜上分類,所以分割和分類是分離的。
Mask R-CNN架構中用於預測掩膜的分支
關注輸入圖像的空間結構是准確預測掩膜的前提,而這種像素到像素的操作需要ROI特徵的完全對齊。在目標檢測任務中,一些模型會用RoIPool提取這些特徵,但它們不總是嚴格對齊的,因為ROI的維度不僅可以是積分,也可以是浮點數。RoIPool通過將它們四捨五入到最接近的整數來量化這些維度,不僅如此,量化的RoI還被進一步細分為量化的空間區間,在該區間上執行合並。雖然這些量化對分類問題沒什麼影響,但如果把它們用於像素級對齊,分割掩膜預測會出現巨大偏差。
RoIAlign: 虛線網格表示feature map,實線表示RoI(有2×2個bin,每個bin中4個采樣點)
考慮到實例分割要求像素級別的精準,MASK R-CNN引入了一種新的方法來提取特徵,稱為RoIAlign。它背後的想法是很簡單:既然錯位是由量化引起的,那就避免所有量化。RoIAlign不會對維度做任何約減,它引入了一個插值過程,先通過雙線性插值到14×14,再池化到7×7,很大程度上解決了由直接池化采樣造成的Misalignment對齊問題。需要注意的是,使用RoIAlign提取的RoI特徵具有固定的空間維度,這點和RoIPool一樣。
小結
以上就是現在常用的語義分割、實例分割模型,它們基本上都是FCN的變體,把編碼器作為簡單的特徵提取器,重點放在解碼器創新上。此外,一些研究人員也嘗試過用其他方法來解決實例分割問題,比如上面提到的MASK R-CNN就是改造目標檢測模型的成果,總而言之,FCN還是解決這類任務的重要基石。
譯者的話:以上只是簡短的關鍵提煉,如果讀者希望了解這些模型的具體細節,可以參考文末推薦的幾篇中文論文解讀,點擊閱讀原文獲取超鏈接。
參考文獻
[1] J. Long, E. Shelhamer, and T. D ar rell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. (paper)
[2] O. Ronneberger, P. Fischer, and T. Brox, 「U-net: Convolutional networks for biomedical image segmentation,」 in MICCAI, pp. 234–241, Springer, 2015. (paper)
[3] Badrinarayanan, V., Kendall, A., & Cipolla, R. (2017). SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39, 2481-2495. (paper)
[4] P. O. Pinheiro, R. Collobert, and P. Dollar. Learning to segment object candidates. In NIPS, 2015. (paper)
[5] Dai, J., He, K., Sun, J. Instance-aware semantic segmentation via multi-task network cascades. In CVPR., 2016. (paper)
[6] J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive fully convolutional networks. In ECCV, 2016. (paper)
[7] Y. Li, H. Qi, J. Dai, X. Ji, and Y. Wei. Fully convolutional instance-aware semantic segmentation. In CVPR, 2017. (paper)
[8] K He, G Gkioxari, P Dollár, R Girshick. Mask R-CNN. In ICCV, 2017. (paper)
編譯參考
[1] jianyuchen23—— U-Net論文詳解
[2] DelphiFan』s Blog—— 語義分割論文-SegNet
[3] Elaine_Bao—— 物體檢測與分割系列 DeepMask
[4] AHU-WangXiao—— Instance-aware Semantic Segmentation via Multi-task Network Cascades
[5] Tina』s Blog—— InstanceFCN:Instance-sensitive Fully Convolutional Networks
[6] 技術挖掘者—— Mask R-CNN詳解
㈡ jquery星星評分代碼,到小數點,有css
下面是js 的評分實現,每次評分都是整數,4.2隻是個平均值
用這個就可以了
SELECT avg(star) as stars FROM content where id =100
只有一個數值,就是你要的平均分,也就是4.2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>星級評分系統</title>
<style>
body,div,ul,li,p{margin:0;padding:0;}
body{color:#666;font:12px/1.5 Arial;}
ul{list-style-type:none;}
#star{position:relative;width:600px;margin:10px auto;}
#star ul,#star span{float:left;display:inline;height:19px;line-height:19px;}
#star ul{margin:0 10px;}
#star li{float:left;width:24px;cursor:pointer;text-indent:-9999px;background:url(/jscss/demoimg/201206/star.png) no-repeat;}
#star strong{color:#f60;padding-left:10px;}
#star li.on{background-position:0 -28px;}
#star p{position:absolute;top:20px;width:159px;height:60px;display:none;background:url(/jscss/demoimg/201206/icon.gif) no-repeat;padding:7px 10px 0;}
#star p em{color:#f60;display:block;font-style:normal;}
</style>
<script type="text/javascript">
window.onload = function ()
{
var oStar = document.getElementById("star");
var aLi = oStar.getElementsByTagName("li");
var oUl = oStar.getElementsByTagName("ul")[0];
var oSpan = oStar.getElementsByTagName("span")[1];
var oP = oStar.getElementsByTagName("p")[0];
var i = iScore = iStar = 0;
var aMsg = [
"很不滿意|差得太離譜,與賣家描述的嚴重不符,非常不滿",
"不滿意|部分有破損,與賣家描述的不符,不滿意",
"一般|質量一般,沒有賣家描述的那麼好",
"滿意|質量不錯,與賣家描述的基本一致,還是挺滿意的",
"非常滿意|質量非常好,與賣家描述的完全一致,非常滿意"
]
for (i = 1; i <= aLi.length; i++)
{
aLi[i - 1].index = i;
//滑鼠移過顯示分數
aLi[i - 1].onmouseover = function ()
{
fnPoint(this.index);
//浮動層顯示
oP.style.display = "block";
//計算浮動層位置
oP.style.left = oUl.offsetLeft + this.index * this.offsetWidth - 104 + "px";
//匹配浮動層文字內容
oP.innerHTML = "<em><b>" + this.index + "</b> 分 " + aMsg[this.index - 1].match(/(.+)\|/)[1] + "</em>" + aMsg[this.index - 1].match(/\|(.+)/)[1]
};
//滑鼠離開後恢復上次評分
aLi[i - 1].onmouseout = function ()
{
fnPoint();
//關閉浮動層
oP.style.display = "none"
};
//點擊後進行評分處理
aLi[i - 1].onclick = function ()
{
iStar = this.index;
oP.style.display = "none";
oSpan.innerHTML = "<strong>" + (this.index) + " 分</strong> (" + aMsg[this.index - 1].match(/\|(.+)/)[1] + ")"
}
}
//評分處理
function fnPoint(iArg)
{
//分數賦值
iScore = iArg || iStar;
for (i = 0; i < aLi.length; i++) aLi[i].className = i < iScore ? "on" : "";
}
};
</script>
</head>
<body>
<div id="star">
<span>點擊星星就能打分</span>
<ul>
<li><a href="javascript:;">1</a></li>
<li><a href="javascript:;">2</a></li>
<li><a href="javascript:;">3</a></li>
<li><a href="javascript:;">4</a></li>
<li><a href="javascript:;">5</a></li>
</ul>
<span></span>
<p></p>
</div>
</body>
</html>
㈢ 問卷星怎麼給圖片打分
打開問卷星直接在圖片上進行打分。
1、進入問卷星軟體。
2、點擊你所想打分的圖片。
3、點擊上面的打分選項。
4、選擇打的分數即可。
㈣ face++顏值評分小程序
顏值評分是一款通過上傳照片到Face++人臉識別服務得到人臉屬性後,調用黃金比計算顏值的小應用。
使用指南:
1、使用手機微信APP掃描頁面上方二維碼體驗。
2、在手機微信APP中搜索「顏值評分」即可進入。
功能列表
人臉檢測:檢測出人臉及位置。
生成人臉標識:生成一個人臉標識,相同人臉每次檢測都會生成不同的人臉標識。
人臉關鍵點檢測:檢測出83點或106點人臉關鍵點。
性別檢測:分析人臉性別。
年齡檢測:分析人臉年齡。
笑容檢測:分析人臉笑容程度。
情緒識別:分析包括憤怒、厭惡、恐懼、高興、平靜、傷心、驚訝在內的7種情緒。
顏值評分:判斷人臉顏值。
佩戴眼鏡識別:分析人臉是否佩戴眼鏡、墨鏡。
眼部遮擋識別:分析左右眼被遮擋或被眼鏡遮擋情況。
嘴部遮擋識別:分析嘴部被醫用口罩或呼吸面罩或其他物體遮擋情況。
頭部姿勢檢測:分析人臉姿勢,包括抬頭、旋轉(平面旋轉)、搖頭。
人臉模糊判斷:分析人臉模糊程度。
人臉質量判斷:判斷人臉圖片質量,若分數過低,則不適合用於人臉比對。
視線識別:分析左右眼位置及視線狀態。
膚質識別:分析面部健康、色斑、青春痘、黑眼圈程度。
㈤ 怎樣才能對文章,圖片自動評價,評分跪謝!
有的話咱們就不來回答你的問題了
㈥ 哪位VB大神能幫我編個簡單評分器呢【5張評委圖片,下面加5個文本框,一個最後得分按鈕和一個清空按鈕】
我會、但是我只發代碼你可以不?還有平均分在哪裡顯示你也沒說出來啊
㈦ 如何用eprime做圖片評分實驗
Eprime是基於心理學的反應時實驗設計的人類被試行為實驗軟體,目前版本為2.0。
所謂反應時即刺激出現到被試出現明顯反應所花的時間。
反應時實驗最初由荷蘭生理學家唐德斯(Donders)設計。分為簡單反應時、選擇反應時、辨別反應時。
簡單反應時即出現一個刺激被試進行反應。
選擇反應時是出現若干個刺激被試對他們做不同的反應。
辨別反應時是出現若干個刺激被試擇一進行反應。
心理學家一般認為,在其他條件都被控制的條件下,選擇的心理過程可以通過選擇反應時減去辨別反應時得到,辨別的心理過程可以通過辨別反應時減去簡單反應時得到。
在真正實驗中,這種方法被稱為減法反應時方法,是認知心理學的常用實驗邏輯,也稱為選擇反應時範式。實驗中,由於被試數量較多,所以將被試的反應時加以平均,得到平均數和方差。然後對他們進行t檢驗等統計分析,只要結果顯著,一般認為就能顯示心理過程的存在。
Eprime即是基於這個原理開發而來,提供最基本的選擇反應時設計過程,可以融入音頻、視頻、圖片、文字等作為刺激材料,記錄被試的反應時間、正確率,2.0版本可以記錄被試的口頭報告。
隨著認知神經科學的到來,Eprime開始通過安裝插件支持EEG生產商(例如Neuroscan)、MRI等實驗實施的軟硬體。通過Eprime設計出來的行為實驗程序與EEG、MRI等記錄工具實現同步,從而達到認知神經科學研究的目的。
Eprime下載:http://bbs.bbioo.com/thread-36652-1-1.html
㈧ 照片處理程序代碼
-C++。
圖片處理代碼:
#include
#include
#include
#include
#include
#include
#include
#include
該模塊是完成BMP圖像(彩色圖像是24bit RGB各8bit)的像素獲取,並存在文件名為xiang_su_.txt中
unsigned char *pBmpBuf;//讀入圖像數據的指針
int bmpWidth;//圖像的寬
int bmpHeight;//圖像的高
RGBQUAD *pColorTable;//顏色表指針
int biBitCount;//圖像類型,每像素位數。//讀圖像的點陣圖數據、寬、高、顏色表及每像素位數等數據進內存,存放在相應的全局變數中
bool readBmp(char *bmpName){FILE *fp=fopen(bmpName,"rb");//二進制讀方式打開指定的圖像文件
if(fp==0)
return 0;
//跳過點陣圖文件頭結BITMAPFILEHEADERfseek(fp, sizeof(BITMAPFILEHEADER),0);//定義點陣圖信息頭結構變數,讀取點陣圖信息頭進內存,存放在變數head中BITMAPINFOHEADER head;fread(&head, sizeof(BITMAPINFOHEADER), 1,fp); //獲取圖像寬、高、每像素所佔位數等信息bmpWidth = head.biWidth;bmpHeight = head.biHeight;biBitCount = head.biBitCount;//定義變數,計算圖像每行像素所佔的位元組數(必須是4的倍數)int lineByte=(bmpWidth * biBitCount/8+3)/4*4;//灰度圖像有顏色表,且顏色表表項為256if(biBitCount==8)。
㈨ flash2.0怎麼實現找出圖片中錯誤的地方就得分功能
創建圖層。
1、在Flash2.0中創建圖層,第一層放置得分按鈕。
2、第二次放置扣分按鈕,第三層放置分組信息、分數標識和標題(計分板)。
4、第四層放置分數顯示的動態文本框,第五層添加代碼就可以了。