关于java图章检测的信息
今天给各位分享java图章检测的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、在Java中,如何检测一个数组中是否包含某一个数据?
- 2、JAVA 数字水印 小程序(给图片打上水印或检测水印),求发个源码谢谢
- 3、在java中 在一张图片中判断是否有这一个物体 比如花 瓶子? 需要通过什么方法么
- 4、java图形处理 能实现 剪切 魔术棒选着区域并替换为其他图片 合成图片 还有仿制图章功能吗
在Java中,如何检测一个数组中是否包含某一个数据?
在Java中,检测一个数组是否包含某一个数据,通常有四种方法:
(1)for循环
(2)转换为List,调用Arrays.asList(arr).contains方法
(3)使用Set
(4)使用Arrays.binarySearch()方法
下面为上述四种方法的具体代码实现:
1、使用for循环
public static boolean useLoop(String[] arr, String targetValue) {
for (String s : arr) {
if (s.equals(targetValue))
return true;
}
return false;
}
2、转换为List,调用Arrays.asList(arr).contains方法
public static boolean useList(String[] arr, String targetValue) {
return Arrays.asList(arr).contains(targetValue);
}
3、使用Set
public static boolean useSet(String[] arr, String targetValue) {
SetString set = new HashSetString(Arrays.asList(arr));
return set.contains(targetValue);
}
4、使用Arrays.binarySearch()方法
特别说明:binarySearch()二分查找 仅适用于 有序数组,如果不是有序数组,则报异常
public static boolean useArraysBinarySearch(String[] arr, String targetValue) {
int a = Arrays.binarySearch(arr, targetValue);
if (a 0) {
return true;
} else {
return false;
} }
扩展资料:
Java种List列表的contains方法:
该方法是通过遍历集合中的每一个元素并用equals方法比较是否存在指定的元素。
public boolean contains(Object o) {
IteratorE it = iterator();
if (o==null) {
while (it.hasNext())
if (it.next()==null)
return true;
} else {
while (it.hasNext())
if (o.equals(it.next()))
return true;
}
return false;
}
参考资料来源:Java官网-API-Arrays
参考资料来源:Java官网-API-Interface List
JAVA 数字水印 小程序(给图片打上水印或检测水印),求发个源码谢谢
package com.aspectj;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import javax.swing.ImageIcon;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*
* 添加水印, filePath 源图片路径 含图片名, watermark 水印图片路径 savePath
* 为你添加水印后的图片保存路径文件夹 words 要添加的文字
*/
// 添加水印,filePath 源图片路径, watermark 水印图片路径
public class Mark {
private static int wid = 0;
private static int het = 0;
public static boolean createMark(String filePath, String watermark,
String words, String savePath) {
ImageIcon imgIcon = new ImageIcon(filePath);
Image theImg = imgIcon.getImage();
ImageIcon waterIcon = new ImageIcon(watermark);
Image waterImg = waterIcon.getImage();
// /////////////////////////////////////////////////////////////////////
File f = new File(filePath);
String picname = f.getName();// 取得图片名
if (watermark != null !watermark.equals("")) {// 当水印图标为空时
ImageIcon markIcon = new ImageIcon(watermark); // 要添加的水印图标
Image markImg = markIcon.getImage();
wid = markImg.getWidth(null); // 水印图标宽度
het = markImg.getHeight(null); // 水印图标高度
}
// ////////////////////////////////////////////////////////////////////
int width = theImg.getWidth(null); // 源图片宽度
int height = theImg.getHeight(null); // 源图片高度
if (savePath.equals(""))
savePath = filePath;// 如果未指定保存路径则保存回原路径
else
savePath = savePath + "指定保存文件夹时,拼接出保存路径";
BufferedImage bimage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = bimage.createGraphics();
g.setColor(Color.red); // 设置颜色
g.setBackground(Color.white);
g.drawImage(theImg, 0, 0, null);
g.drawImage(waterImg, width - wid + 5, height - het + 5, null); // 添加图标中间两个数字参数
// 是设定位置
g.drawString(words, width - 120, height - 10); // 添加文字
try {
FileOutputStream out = new FileOutputStream(savePath);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
param.setQuality(50f, true); // 图片质量
encoder.encode(bimage, param);
out.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("===========水印失败");
return false;
} finally {
System.gc();// 清理 垃圾对象
}
System.out.println("===========水印成功");
return true;
}
// /测试主程序
public static void main(String[] args) {
createMark("dcc451da81cb39dbfa76de3ad2160924ab183023.jpg", "u=4038692558,3024950167fm=21gp=0.jpg", "aas", "");
}
}
检测水印很难做到,但是加上水印还是比较简单的
在java中 在一张图片中判断是否有这一个物体 比如花 瓶子? 需要通过什么方法么
如果你已经有和图片中这个物体完全相同的图片(也就是这张图片的部分截图。。),那么只需要遍历一遍像素即可。如果是要识别物品的话,需要用到神经网络,建议不要使用java语言,而是使用matlab语言,matlab中有神经网络的工具箱,更方便而且运算更快。如果必须要使用java语言,在网络上有jni重新封装的opencv库,叫做javacv,但我没有用过,不知道是否能够做到识别物体。
java图形处理 能实现 剪切 魔术棒选着区域并替换为其他图片 合成图片 还有仿制图章功能吗
理论上是可以实现的,不过兄弟,你用java实现这些所用的时间,可以让你在PS上的成就达到精通级别了。
java图章检测的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java图章检测的信息别忘了在本站进行查找喔。
发布于:2022-11-21,除非注明,否则均为
原创文章,转载请注明出处。