欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java代碼生成動(dòng)漫圖片 用代碼生成圖片

java 實(shí)現(xiàn)人臉的動(dòng)漫化 照片用數(shù)組存還是image對象?提取人臉的什么特征?人臉處理常用哪些特征?

YOGUAI為保險(xiǎn)柜,自動(dòng)門,考勤等行業(yè)提供人臉識(shí)別方案。

成都創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè), 我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。

隨著計(jì)算機(jī)網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,信息安全、知識(shí)產(chǎn)權(quán)保護(hù)和身份認(rèn)證等問題成了一個(gè)重要而緊迫的研究課題。身份認(rèn)證是保證系統(tǒng)安全的必要前提,在多種不同的安全領(lǐng)域都需要準(zhǔn)確的身份認(rèn)證。傳統(tǒng)的身份證、智能卡、密碼等身份認(rèn)證方法存在攜帶不便、容易遺失、不可讀或密碼易被破解等諸多問題?;谌四樧R(shí)別技術(shù)的身份認(rèn)證方法與傳統(tǒng)的方法相比,具有更好的安全性、可靠性和有效性,因此正越來越受到人們的重視,并逐漸進(jìn)入社會(huì)生活的各個(gè)領(lǐng)域。

人臉識(shí)別技術(shù)具有廣泛的應(yīng)用前景,可以應(yīng)用到多種不同的安全領(lǐng)域,因其識(shí)別特征的獨(dú)特性、惟一性和相對穩(wěn)定性,逐漸成為一非常熱門的研究課題。許多典型的人臉識(shí)別算法和應(yīng)用系統(tǒng)都是針對標(biāo)準(zhǔn)或特定的人臉數(shù)據(jù)庫,利用庫內(nèi)人臉進(jìn)行訓(xùn)練,并在相同的庫中實(shí)現(xiàn)人臉識(shí)別。但在軟件保護(hù)、計(jì)算機(jī)安全等特殊應(yīng)用中,身份認(rèn)證僅針對單個(gè)對象進(jìn)行人臉識(shí)別,現(xiàn)有的人臉識(shí)別方法并不能勝任這樣的識(shí)別任務(wù)。為此,本文針對單對象人臉識(shí)別的特點(diǎn),討論了單對象人臉檢測和識(shí)別的關(guān)鍵技術(shù),在此基礎(chǔ)上提出了一種單對象人臉識(shí)別算法,實(shí)驗(yàn)結(jié)果證明了該方法的有效性。

2單對象人臉識(shí)別的特點(diǎn)

與典型的人臉識(shí)別相比,單對象人臉識(shí)別有以下4個(gè)方面的特點(diǎn):

應(yīng)用領(lǐng)域人臉識(shí)別的應(yīng)用領(lǐng)域很廣,如刑偵破案、證件核對、保安監(jiān)控等,而單對象人臉識(shí)別主要應(yīng)用在軟件保護(hù)、計(jì)算機(jī)安全鎖、特定對象追蹤等領(lǐng)域。

識(shí)別系統(tǒng)的目標(biāo)單對象人臉識(shí)別的最終目標(biāo)是系統(tǒng)必須具有高度的安全性和可靠性,即識(shí)別錯(cuò)誤率趨于0。雖然降低識(shí)別錯(cuò)誤率的同時(shí)識(shí)別率也會(huì)降低,但可以通過提示用戶調(diào)整姿態(tài)(如注視攝像頭等)加以改善。

膚色模型由于單對象人臉識(shí)別僅針對特定的對象,所以人臉檢測的膚色模型可采用自適應(yīng)的方法調(diào)整膚色范圍。

分類方法單對象人臉識(shí)別不存在人臉數(shù)據(jù)庫,常用的最小距離分類法不能夠正確識(shí)別特定的對象,只能用閾值作為判據(jù)。因此,閾值的選取十分重要,閾值過大則容易出現(xiàn)錯(cuò)判,存在安全隱患;而閾值過小又會(huì)影響識(shí)別效率。

3人臉的檢測和歸一化

人臉檢測是人臉識(shí)別的前提。對于給定的圖像,人臉檢測的目的在于判斷圖像中是否存在人臉,如果存在,則返回其位置和空間分布。利用人臉膚色和面部特征,將人臉檢測分為兩個(gè)階段:外臉檢測和內(nèi)臉定位。外臉檢測主要利用人臉膚色進(jìn)行初步的臉區(qū)檢測,分割出膚色區(qū)域;內(nèi)臉檢測是在外臉區(qū)域中利用面部幾何特征進(jìn)行驗(yàn)證和定位。

3.1外臉檢測

外臉檢測的任務(wù)是將待檢圖像中可能的人臉區(qū)域找出來并加以標(biāo)記,其步驟如下:

(1)根據(jù)人類膚色在色彩空間中存在區(qū)域性的特點(diǎn),將可能為人臉的像素檢測出來。為更好地利用膚色特征,同時(shí)選用HSI和YcbCr兩種色彩空間對圖像進(jìn)行二值化處理,膚色范圍限定在H∈[0,46],S∈[0.10,0.72],Cb∈[98,130],Cr∈[128,170]內(nèi)。將滿足條件的像素標(biāo)記為膚色像素,其余的均為非膚色像素。

(2)去噪處理。在以每一個(gè)膚色點(diǎn)為中心的5×5鄰域內(nèi)統(tǒng)計(jì)膚色像素的個(gè)數(shù),超過半數(shù)時(shí)中心點(diǎn)保留為膚色,否則認(rèn)為是非膚色。

(3)將二值圖像中的膚色塊作區(qū)域歸并,并對目標(biāo)區(qū)域進(jìn)行比例、結(jié)構(gòu)分析,過濾掉不可能的人臉區(qū)域。目標(biāo)區(qū)域的高度/寬度比例限定在0.8~2.0。

3.2內(nèi)臉檢測和定位

將包含眼、眉、鼻和嘴的區(qū)域稱為內(nèi)臉區(qū)域。內(nèi)臉區(qū)域能夠很好地表達(dá)人臉特征,且不易受背景、頭發(fā)等因素的干擾,因此內(nèi)臉區(qū)域的檢測和定位對后續(xù)的特征提取和識(shí)別至關(guān)重要。

在外臉區(qū)域的上半部,對二值圖像進(jìn)行水平方向和垂直方向的投影,確定兩個(gè)包含黑點(diǎn)的矩形區(qū)域作為雙眼的大致區(qū)域。在確定的兩個(gè)區(qū)域中,對黑點(diǎn)進(jìn)行區(qū)域膨脹,可以得到眼睛的基本輪廓和左石眼角,黑點(diǎn)坐標(biāo)的平均值作為瞳孔的位置。

設(shè)左右瞳孔的坐標(biāo)分別為(Lx,Ly)和(Rx,Ry),兩個(gè)瞳孔之間的距離為d,根據(jù)人臉的幾何特征,我們將內(nèi)臉區(qū)域定義為:寬度=-d×1.6,高度=-d×1.8,左上角坐標(biāo)為(Lx-d×0.3,(Ly Ry)/2-(-d)×0.3)。實(shí)驗(yàn)表明,該區(qū)域能夠很好地表達(dá)人臉特征。

3.3內(nèi)臉區(qū)域的歸一化

由于各待測圖像中的人臉大小具有很大的隨機(jī)性,因此,有必要對內(nèi)臉區(qū)域進(jìn)行歸一化操作。人臉歸一化是指對內(nèi)臉區(qū)域的圖像進(jìn)行縮放變換,得到統(tǒng)一大小的標(biāo)準(zhǔn)圖像,實(shí)驗(yàn)中,我們規(guī)定標(biāo)準(zhǔn)圖像的大小為128×128。歸一化處理,保證了人臉大小的一致性,體現(xiàn)了人臉在圖像平面內(nèi)的尺寸不變性。

對歸一化的人臉圖像,采用小波變換與DCT相結(jié)合的方法提取人臉特征。首先對人臉圖像進(jìn)行3層小波分解,取低頻子圖像LL3作為人臉特征提取的對象,從而獲得每幅訓(xùn)練樣本或測試樣本的低頻子圖像;然后對低頻子圖像進(jìn)行離散余弦變換(DCT),DCT系數(shù)個(gè)數(shù)與子圖像的大小相等(即256),由于圖像DCT變換,能量集中在低頻部分,因此只取其中的136個(gè)低頻系數(shù)作為特征向量。

5人臉的識(shí)別

完成訓(xùn)練過程并獲得待測樣本的特征后,即可進(jìn)行人臉識(shí)別,本文采用歐氏距離進(jìn)行分類。

5.1計(jì)算樣本與平均臉的歐氏距離

用m和x表示平均臉和樣本的特征向量,則樣本與平均臉的歐氏距離為:

其中mk表示平均臉的第k個(gè)特征向量,xk表示待測樣本的第k個(gè)特征向量。身份認(rèn)證時(shí),計(jì)算待測樣本與平均臉的歐氏距離,并與特定對象的自適應(yīng)閾值進(jìn)行比較,將小于閾值的樣本判為該對象的人臉,即認(rèn)證通過。

5.2自適應(yīng)閾值的選取

與典型的人臉識(shí)別方法不同,單對象人臉認(rèn)識(shí)沒有人臉數(shù)據(jù)庫,不能用距離最小作為判據(jù),只能用閾值作為判別依據(jù)。閾值的選取應(yīng)兼顧識(shí)別率和識(shí)別的準(zhǔn)確性,實(shí)驗(yàn)中我們?nèi)∮?xùn)練樣本與平均臉的歐氏距離平均值作為分類閾值,即:

其中,N為訓(xùn)練樣本數(shù),此值不宜太小;di為第i個(gè)樣本與平均臉之間的歐氏距離。

莫士特科技有限公司提供模式識(shí)別主板及解決方案。

希望采納

求java做動(dòng)畫代碼

import?java.awt.Canvas;

import?java.awt.Color;

import?java.awt.Dimension;

import?java.awt.EventQueue;

import?java.awt.Frame;

import?java.awt.Graphics;

import?java.awt.Graphics2D;

import?java.awt.Image;

import?java.awt.RenderingHints;

import?java.awt.event.KeyEvent;

import?java.awt.event.KeyListener;

import?java.awt.event.WindowAdapter;

import?java.awt.event.WindowEvent;

import?java.awt.image.BufferedImage;

import?java.io.File;

import?java.io.IOException;

import?javax.imageio.ImageIO;

public?class?TestImage?extends?Frame

{

private?static?final?long?serialVersionUID?=?1L;

private?static?boolean?PRESSED?=?false;

private?static?int?pointX?=?0;

private?static?int?pointy?=?200;

private?static?int?RIGHT_GO?=?0;

private?static?int?LEFT_GO?=?0;

private?static?int?DIR?=?0;

private?static?int?ANGLE?=?0;

private?static?int?W?=?50;

private?static?int?H?=?60;

private?_Canvas?canvas?=?null;

public?TestImage?()

{

add?(canvas?=?new?_Canvas?());

setIgnoreRepaint?(true);

requestFocus?();

}

public?class?_Canvas?extends?Canvas?implements?Runnable

{

private?static?final?long?serialVersionUID?=?1L;

private?BufferedImage?bi?=?null;

private?Image?bufferedImage?=?null;

private?Thread?thread?=?null;

private?long?sleepTime?=?10;

public?_Canvas?()

{

try

{

bi?=?ImageIO.read?(new?File?("go.png"));

}

catch?(IOException?e)

{}

setBackground?(Color.BLACK);

requestFocus?();

addKeyListener?(new?KeyListener?()

{

@Override

public?void?keyTyped?(?KeyEvent?e?)

{}

@Override

public?void?keyReleased?(?KeyEvent?e?)

{

RIGHT_GO?=?0;

PRESSED?=?false;

}

@Override

public?void?keyPressed?(?KeyEvent?e?)

{

//?38?40?37?39上下左右

DIR?=?e.getKeyCode?();

PRESSED?=?true;

}

});

}

@Override

public?void?paint?(?Graphics?g?)

{

Graphics2D?g2d?=?(Graphics2D)?g;

g2d.setRenderingHint?(RenderingHints.KEY_INTERPOLATION,?RenderingHints.VALUE_INTERPOLATION_BILINEAR);

g2d.drawImage?(rotateImage?(bi.getSubimage?(RIGHT_GO,?LEFT_GO,?W,?H),?ANGLE,?true),?pointX,?pointy,?W,?H,

this);

g2d.dispose?();

}

@Override

public?void?update?(?Graphics?g?)

{

if?(null?==?bufferedImage)

{

bufferedImage?=?createImage?(getWidth?(),?getHeight?());

}

Graphics?bufferedG?=?bufferedImage.getGraphics?();

bufferedG.clearRect?(0,?0,?getWidth?(),?getHeight?());

paint?(bufferedG);

bufferedG.dispose?();

g.drawImage?(bufferedImage,?0,?0,?this);

g.dispose?();

}

public?void?start?()

{

thread?=?new?Thread?(this);

thread.setName?("TestImage");

thread.setPriority?(Thread.MIN_PRIORITY);

thread.start?();

}

public?synchronized?void?stop?()

{

thread?=?null;

notify?();

}

@Override

public?void?run?()

{

Thread?me?=?Thread.currentThread?();

while?(thread?==?me??!isShowing?()?||?getSize?().width?==?0)

{

try

{

Thread.sleep?(555);

}

catch?(InterruptedException?e)

{

return;

}

}

while?(thread?==?me??isShowing?())

{

if?(PRESSED)

{

try

{

if?(DIR?==?39)

{

RIGHT_GO?=?RIGHT_GO?+?50;

LEFT_GO?=?0;

pointX?=?pointX?+?1;

if?(pointX??420)

{

ANGLE?=?90;

pointX--;

pointy--;

W?=?60;

H?=?50;

}

if?(RIGHT_GO??50)

{

RIGHT_GO?=?0;

}

}

else?if?(DIR?==?37)

{

pointX?=?pointX?-?1;

RIGHT_GO?=?RIGHT_GO?+?50;

LEFT_GO?=?60;

if?(pointX??0)

{

ANGLE?=?-90;

pointX++;

pointy--;

W?=?60;

H?=?50;

}

if?(RIGHT_GO??50)

{

RIGHT_GO?=?0;

}

}

else?if?(DIR?==?38)

{

W?=?50;

H?=?60;

pointy?=?150;

ANGLE?=?0;

RIGHT_GO?=?100;

}

else?if?(DIR?==?40)

{

W?=?50;

H?=?60;

ANGLE?=?0;

pointy?=?200;

RIGHT_GO?=?0;

}

Thread.sleep?(sleepTime);

repaint?();

}

catch?(InterruptedException?e)

{

break;

}

}

else

{

RIGHT_GO?=?RIGHT_GO?+?50;

LEFT_GO?=?0;

pointX?=?pointX?+?1;

if?(RIGHT_GO??50)

{

RIGHT_GO?=?0;

}

if?(pointX??500)

{

pointX?=?0;

}

try

{

Thread.sleep?(sleepTime);

repaint?();

}

catch?(InterruptedException?e)

{

break;

}

}

}

thread?=?null;

}

}

/**

?*?旋轉(zhuǎn)圖像為指定角度

?*?

?*?@param?degree

?*?@return

?*/

public?static?BufferedImage?rotateImage?(?final?BufferedImage?image,?final?int?angdeg,?final?boolean?d?)

{

int?w?=?image.getWidth?();

int?h?=?image.getHeight?();

int?type?=?image.getColorModel?().getTransparency?();

BufferedImage?img;

Graphics2D?graphics2d;

(?graphics2d?=?(?img?=?new?BufferedImage?(w,?h,?type)?).createGraphics?()?).setRenderingHint?(

RenderingHints.KEY_INTERPOLATION,?RenderingHints.VALUE_INTERPOLATION_BILINEAR);

graphics2d.rotate?(d???-Math.toRadians?(angdeg)?:?Math.toRadians?(angdeg),?w?/?2,?h?/?2);

graphics2d.drawImage?(image,?0,?0,?null);

graphics2d.dispose?();

return?img;

}

public?static?void?main?(?String[]?args?)

{

EventQueue.invokeLater?(new?Runnable?()

{

@Override

public?void?run?()

{

final?TestImage?ti?=?new?TestImage?();

ti.setSize?(new?Dimension?(500,?300));

ti.setLocationRelativeTo?(null);

ti.addWindowListener?(new?WindowAdapter?()

{

@Override

public?void?windowClosing?(?WindowEvent?e?)

{

System.exit?(0);

}

@Override

public?void?windowDeiconified?(?WindowEvent?e?)

{

ti.canvas.start?();

}

@Override

public?void?windowIconified?(?WindowEvent?e?)

{

ti.canvas.stop?();

}

});

ti.setResizable?(false);

ti.canvas.start?();

ti.setVisible?(true);

}

});

}

}

2.Java有哪幾種常見的實(shí)現(xiàn)動(dòng)畫的方法?

一: 用多線程播放一組圖片, 實(shí)現(xiàn)動(dòng)畫片的效果; 類似于逐幀動(dòng)畫,每個(gè)圖片是動(dòng)畫的一幀

二: 在awt/swing界面里, 可以使用paint方法,去繪制圖形,然后用swing提供的Timer或者多線程技術(shù),去刷新繪制的圖形

三:在JavaFX里, 本身就支持動(dòng)畫,并且封裝了很多動(dòng)畫效果可以直接使用,比如逐幀動(dòng)畫.縮放動(dòng)畫,漸變動(dòng)畫,旋轉(zhuǎn)動(dòng)畫,位置動(dòng)畫等.

強(qiáng)烈推薦使用javaFX來實(shí)現(xiàn)動(dòng)畫, 因?yàn)閖avaFX是現(xiàn)代化的圖形界面工具,具有簡單,強(qiáng)大,組件豐富,跨平臺(tái),支持Html5, 支持表格, 支持動(dòng)畫等多種優(yōu)勢?

下面是一個(gè)javaFX繪制的動(dòng)態(tài)表格

javaFX動(dòng)態(tài)表格

怎么用java做動(dòng)畫

重寫paint方法,來實(shí)現(xiàn)將自己定義的圖片繪制到組件中,然后啟動(dòng)一個(gè)線程來控制paint方法。 示例: ××××××××××××××××××××××××××× import javax.swing.*; import java.awt.*;class MyPanel extends JPanel implements Runnable {private Image img;private int i=0;private int j=0;public MyPanel(){img=new ImageIcon("1.png").getImage();}public void paint(Graphics g){g.drawImage(img,0,0,60,104,i*60,j*104,i*60+60,j*104+104,this);}public void run(){while(true){while(j {while(i {try{Thread.sleep(300);}catch(Exception e){}this.repaint();i++;}j++;i=0;}i=0;j=0;}} }public class test extends JFrame {private MyPanel p;public test(){p=new MyPanel();this.add(p,BorderLayout.CENTER);this.setBounds(300,200,300,300);this.setTitle("人物行走圖");new Thread(p).start();this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String args[]){new test();} }××××××××××××××××××××××× 將以上源碼保存為:test.java,編譯,然后下載下面的圖片 將下載的圖片改名為1.png" target="_blank"

,然后將其和編譯后生成的class文件放在同一文件夾下,然后運(yùn)行就可以了·~~

當(dāng)前文章:java代碼生成動(dòng)漫圖片 用代碼生成圖片
文章分享:http://chinadenli.net/article12/dodchdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、靜態(tài)網(wǎng)站、網(wǎng)站收錄、網(wǎng)站營銷自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司