「java卡通图片」图片生成卡通图片
本篇文章给大家谈谈java卡通图片,以及图片生成卡通图片对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java漫画下载
- 2、java 实现人脸的动漫化 照片用数组存还是image对象?提取人脸的什么特征?人脸处理常用哪些特征?
- 3、如何运java制作一个美丽的界面
- 4、java Swing怎么设置JPanel背景图片为gif动画??????背景加gif动画只能静态显
- 5、2.Java有哪几种常见的实现动画的方法?
- 6、怎么用java做动画
Java漫画下载
如是智能机而屏幕够大的话, 可以使用pdf阅读器, 如是非智能且支持java功能的话。就下个umd阅读器。 实在不行就下jpg格式的图片吧。放在大屏幕的播放器里,一样可以看的很爽的。。。。。。
java 实现人脸的动漫化 照片用数组存还是image对象?提取人脸的什么特征?人脸处理常用哪些特征?
YOGUAI为保险柜,自动门,考勤等行业提供人脸识别方案。
随着计算机网络和通信技术的发展,信息安全、知识产权保护和身份认证等问题成了一个重要而紧迫的研究课题。身份认证是保证系统安全的必要前提,在多种不同的安全领域都需要准确的身份认证。传统的身份证、智能卡、密码等身份认证方法存在携带不便、容易遗失、不可读或密码易被破解等诸多问题。基于人脸识别技术的身份认证方法与传统的方法相比,具有更好的安全性、可靠性和有效性,因此正越来越受到人们的重视,并逐渐进入社会生活的各个领域。
人脸识别技术具有广泛的应用前景,可以应用到多种不同的安全领域,因其识别特征的独特性、惟一性和相对稳定性,逐渐成为一非常热门的研究课题。许多典型的人脸识别算法和应用系统都是针对标准或特定的人脸数据库,利用库内人脸进行训练,并在相同的库中实现人脸识别。但在软件保护、计算机安全等特殊应用中,身份认证仅针对单个对象进行人脸识别,现有的人脸识别方法并不能胜任这样的识别任务。为此,本文针对单对象人脸识别的特点,讨论了单对象人脸检测和识别的关键技术,在此基础上提出了一种单对象人脸识别算法,实验结果证明了该方法的有效性。
2单对象人脸识别的特点
与典型的人脸识别相比,单对象人脸识别有以下4个方面的特点:
应用领域人脸识别的应用领域很广,如刑侦破案、证件核对、保安监控等,而单对象人脸识别主要应用在软件保护、计算机安全锁、特定对象追踪等领域。
识别系统的目标单对象人脸识别的最终目标是系统必须具有高度的安全性和可靠性,即识别错误率趋于0。虽然降低识别错误率的同时识别率也会降低,但可以通过提示用户调整姿态(如注视摄像头等)加以改善。
肤色模型由于单对象人脸识别仅针对特定的对象,所以人脸检测的肤色模型可采用自适应的方法调整肤色范围。
分类方法单对象人脸识别不存在人脸数据库,常用的最小距离分类法不能够正确识别特定的对象,只能用阈值作为判据。因此,阈值的选取十分重要,阈值过大则容易出现错判,存在安全隐患;而阈值过小又会影响识别效率。
3人脸的检测和归一化
人脸检测是人脸识别的前提。对于给定的图像,人脸检测的目的在于判断图像中是否存在人脸,如果存在,则返回其位置和空间分布。利用人脸肤色和面部特征,将人脸检测分为两个阶段:外脸检测和内脸定位。外脸检测主要利用人脸肤色进行初步的脸区检测,分割出肤色区域;内脸检测是在外脸区域中利用面部几何特征进行验证和定位。
3.1外脸检测
外脸检测的任务是将待检图像中可能的人脸区域找出来并加以标记,其步骤如下:
(1)根据人类肤色在色彩空间中存在区域性的特点,将可能为人脸的像素检测出来。为更好地利用肤色特征,同时选用HSI和YcbCr两种色彩空间对图像进行二值化处理,肤色范围限定在H∈[0,46],S∈[0.10,0.72],Cb∈[98,130],Cr∈[128,170]内。将满足条件的像素标记为肤色像素,其余的均为非肤色像素。
(2)去噪处理。在以每一个肤色点为中心的5×5邻域内统计肤色像素的个数,超过半数时中心点保留为肤色,否则认为是非肤色。
(3)将二值图像中的肤色块作区域归并,并对目标区域进行比例、结构分析,过滤掉不可能的人脸区域。目标区域的高度/宽度比例限定在0.8~2.0。
3.2内脸检测和定位
将包含眼、眉、鼻和嘴的区域称为内脸区域。内脸区域能够很好地表达人脸特征,且不易受背景、头发等因素的干扰,因此内脸区域的检测和定位对后续的特征提取和识别至关重要。
在外脸区域的上半部,对二值图像进行水平方向和垂直方向的投影,确定两个包含黑点的矩形区域作为双眼的大致区域。在确定的两个区域中,对黑点进行区域膨胀,可以得到眼睛的基本轮廓和左石眼角,黑点坐标的平均值作为瞳孔的位置。
设左右瞳孔的坐标分别为(Lx,Ly)和(Rx,Ry),两个瞳孔之间的距离为d,根据人脸的几何特征,我们将内脸区域定义为:宽度=-d×1.6,高度=-d×1.8,左上角坐标为(Lx-d×0.3,(Ly Ry)/2-(-d)×0.3)。实验表明,该区域能够很好地表达人脸特征。
3.3内脸区域的归一化
由于各待测图像中的人脸大小具有很大的随机性,因此,有必要对内脸区域进行归一化操作。人脸归一化是指对内脸区域的图像进行缩放变换,得到统一大小的标准图像,实验中,我们规定标准图像的大小为128×128。归一化处理,保证了人脸大小的一致性,体现了人脸在图像平面内的尺寸不变性。
对归一化的人脸图像,采用小波变换与DCT相结合的方法提取人脸特征。首先对人脸图像进行3层小波分解,取低频子图像LL3作为人脸特征提取的对象,从而获得每幅训练样本或测试样本的低频子图像;然后对低频子图像进行离散余弦变换(DCT),DCT系数个数与子图像的大小相等(即256),由于图像DCT变换,能量集中在低频部分,因此只取其中的136个低频系数作为特征向量。
5人脸的识别
完成训练过程并获得待测样本的特征后,即可进行人脸识别,本文采用欧氏距离进行分类。
5.1计算样本与平均脸的欧氏距离
用m和x表示平均脸和样本的特征向量,则样本与平均脸的欧氏距离为:
其中mk表示平均脸的第k个特征向量,xk表示待测样本的第k个特征向量。身份认证时,计算待测样本与平均脸的欧氏距离,并与特定对象的自适应阈值进行比较,将小于阈值的样本判为该对象的人脸,即认证通过。
5.2自适应阈值的选取
与典型的人脸识别方法不同,单对象人脸认识没有人脸数据库,不能用距离最小作为判据,只能用阈值作为判别依据。阈值的选取应兼顾识别率和识别的准确性,实验中我们取训练样本与平均脸的欧氏距离平均值作为分类阈值,即:
其中,N为训练样本数,此值不宜太小;di为第i个样本与平均脸之间的欧氏距离。
莫士特科技有限公司提供模式识别主板及解决方案。
希望采纳
如何运java制作一个美丽的界面
可以用下面的代码放在界面所在的构造函数内,便出现美丽的Nimbus界面风格.
至于具体的界面呢.就看你的天分了...
try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");//Nimbus风格,新出来的外观,JDK 6 Update10 版本开始出现
} catch (Exception e) {
}
java Swing怎么设置JPanel背景图片为gif动画??????背景加gif动画只能静态显
public class GifComponent extends JComponent {
private static final long serialVersionUID = 1L;
private GifBean[] gifBeans;
private MapInteger, Integer[] gifBeanMap = new HashMapInteger, Integer[]();
private int index = 0;
private int delayFactor;
private Timer timer;
/**
*
* @param gifFile
* @param delayFactor
* 显示gif每帧图片的时间因子
*/
public GifComponent(File gifFile, int delayFactor) {
setDelayFactor(delayFactor);
setGifFile(gifFile);
}
/**
* 设置Gif文件
*
* @param gifFile
*/
public void setGifFile(File gifFile) {
ImageReader reader = null;
try {
ImageInputStream imageIn = ImageIO.createImageInputStream(gifFile);
IteratorImageReader iter = ImageIO
.getImageReadersByFormatName("gif");
if (iter.hasNext()) {
reader = iter.next();
}
reader.setInput(imageIn, false);
gifBeanMap.clear();
gifBeans = new GifBean[reader.getNumImages(true)];
GIFImageMetadata meta = null;
for (int i = 0; i gifBeans.length; i++) {
meta = (GIFImageMetadata) reader.getImageMetadata(i);
gifBeans[i] = new GifBean();
gifBeans[i].image = reader.read(i);
gifBeans[i].x = meta.imageLeftPosition;
gifBeans[i].y = meta.imageTopPosition;
gifBeans[i].width = meta.imageWidth;
gifBeans[i].height = meta.imageHeight;
gifBeans[i].disposalMethod = meta.disposalMethod;
gifBeans[i].delayTime = meta.delayTime == 0 ? 1
: meta.delayTime;
}
for (int i = 1; i gifBeans.length; i++) {
if (gifBeans[i].disposalMethod == 2) {
gifBeanMap.put(new Integer(i), new Integer[] { i });
continue;
}
int firstIndex = getFirstIndex(i);
ListInteger list = new ArrayListInteger();
for (int j = firstIndex; j = i; j++) {
list.add(j);
}
gifBeanMap.put(new Integer(i), list.toArray(new Integer[] {}));
}
} catch (IOException e) {
e.printStackTrace();
}
setTimer();
}
private synchronized void setTimer() {
if (timer != null) {
timer.cancel();
}
timer = new Timer("show gif");
timer.schedule(new TimerTask() {
@Override
public void run() {
repaint();
try {
Thread.sleep(gifBeans[index].delayTime * delayFactor);
} catch (InterruptedException e) {
}
index++;
if (index = gifBeans.length) {
index = 0;
}
}
}, 0, 1);
}
/**
* 设置时间因子
*
* @param delayFactor
*/
public void setDelayFactor(int delayFactor) {
this.delayFactor = delayFactor;
}
@Override
protected void paintComponent(Graphics g) {
g.drawImage(gifBeans[0].image, gifBeans[0].x, gifBeans[0].y, this);
if (index 0) {
Integer[] array = gifBeanMap.get(index);
for (Integer i : array) {
g.drawImage(gifBeans[i].image, gifBeans[i].x, gifBeans[i].y,
this);
}
}
}
private int getFirstIndex(int index) {
int tempIndex = index;
while (tempIndex 1) {
if (tempIndex - 1 0
gifBeans[tempIndex - 1].disposalMethod == 2) {
return index;
}
tempIndex--;
}
return tempIndex;
}
/**
* 用于保持gif每帧图片的信息
*/
public class GifBean {
public BufferedImage image;
public int x;
public int y;
public int width;
public int height;
public int disposalMethod;
public int delayTime;
}
}
2.Java有哪几种常见的实现动画的方法?
一: 用多线程播放一组图片, 实现动画片的效果; 类似于逐帧动画,每个图片是动画的一帧
二: 在awt/swing界面里, 可以使用paint方法,去绘制图形,然后用swing提供的Timer或者多线程技术,去刷新绘制的图形
三:在JavaFX里, 本身就支持动画,并且封装了很多动画效果可以直接使用,比如逐帧动画.缩放动画,渐变动画,旋转动画,位置动画等.
强烈推荐使用javaFX来实现动画, 因为javaFX是现代化的图形界面工具,具有简单,强大,组件丰富,跨平台,支持Html5, 支持表格, 支持动画等多种优势
下面是一个javaFX绘制的动态表格
javaFX动态表格
怎么用java做动画
重写paint方法,来实现将自己定义的图片绘制到组件中,然后启动一个线程来控制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文件放在同一文件夹下,然后运行就可以了·~~
关于java卡通图片和图片生成卡通图片的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-21,除非注明,否则均为
原创文章,转载请注明出处。