如何用java将图片转换成矩阵,谢谢!!!
public static BufferedImage convertRGBImage(int[][] rgbValue){ int height = rgbValue.length; int width = rgbValue[0].length; BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //we either have to loop through all values, or convert to 1-d array for(int y=0; y< height; y++){ for(int x=0; x< width; x++){ bufferedImage.setRGB(x,y,rgbValue[y][x]); } } return bufferedImage; }调用方法可参考:http://elsewhat.com/2006/08/17/converting-a-two-dimensional-array-of-ints-to-jpg-image-in-java/
首先要先将图像解压缩为位图形式,提取位图中的数据之后就是矩阵形式,然后程序对需要处理的像素点进行处理,完毕之后跟据处理后的数据生成一个新位图,最后再将这个新位图保存为你需要的格式。大体思路就是这样,你可以借助一些开源的开发包来做解压缩和压缩这两步,自己的程序只关注数据处理即可。
已知 Image imgint imgW = img.getWidth();
int imgH = img.getHeight();
int[] RGBData = new int[imgW*imgH];
img.getRGB(RGBData,0,imgW,0,0,imgW,imgH);
int tmp = (255 << 24)|0x00444444;
for(int i=0;i<RGBData.length;i++)
{
RGBData[i] &= tmp;
}
Image o_Img = Image.createRGBImage(RGBData,imgW,imgH,true);获得处理后的图像
用图片半透明方法现改的,未测试
已知
Image
img
int
imgW
=
img.getWidth();
int
imgH
=
img.getHeight();
int[]
RGBData
=
new
int[imgW*imgH];
img.getRGB(RGBData,0,imgW,0,0,imgW,imgH);
int
tmp
=
(255
<<
24)|0x00444444;
for(int
i=0;i<RGBData.length;i++)
{
RGBData[i]
&=
tmp;
}
Image
o_Img
=
Image.createRGBImage(RGBData,imgW,imgH,true);获得处理后的图像
用图片半透明方法现改的,未测试
如何在java代码中插入图片?
1、打开电脑,进入软件中,编写设置大小的代码,代码如下所示。2、在左边的选项中选择javastudy包,在子文件下选择Java。3、选择之后,就会看到以下画面,通过代码加入图片,代码如下图所示。4、写好代码之后,选择左边的菜单,如下图所示,点击以下选项。5、图片插入之后,就成功了。
Java编写时,怎么输出一张图片呀?
(1)首先用ImageIO类读取这张图片(2)如果要对这张图片修改,通过图片获取Graphics对象,再调用Graphics的方法来绘制、修改。(3)再调用ImageIO的方法将图片输出到特定IO流即可。具体代码实例可参考李刚的疯狂Java讲义的11.8节。
java将印章图片转换成矢量图形的方法
1、使用Java内置的图像处理库,如JavaAdvancedImaging(JAI)API导入所需的库和工具。2、使用Java的ImageIO类来读取图像文件。3、对图像进行预处理,包括调整图像大小、平滑处理、边缘检测等,从而帮助后续的矢量化过程。4、使用Java的JAIAPI或第三方库来进行图像矢量化。如果提供了现成的算法将位图转换为矢...
javaweb怎么导入图片(javaweb导入项目)
具体步骤:1.首先,是工程目录结构及图片的引用,将图片加入近web,进行批量操作,如图所示:2.当在images文件夹中添加图片文件时,要点击refresh。3.在当图片文件更改时,要在clean以下server。怎么在JSP中插入图片?1、首先需要新建Dynamicwebproject项目,建好之后在WebContent里面的内容如图所示。2、在body...
Java程序中图片的使用方法
使用图像根据需要,可以有多种方法。如果是放在组件中,如JButton、JLabel中,这些组件需要的是Icon接口的图像,那么使用ImageIcon类来加载图像比较好,new ImageIcon(String filename)或new ImageIcon(URL location)都可以直接加载图像文件。甚至你还可以先用IO读出byte流,也能用byte[]创建ImageIcon。还可以...
怎么用java从文件中读取图片和写入图片到文件里
import java.io.*;读取图片的方法如下:Image[] array = new Image[10];Image image = ImageIO.read(new File("d:\\\\source.gif"));\/\/根据你实际情况改文件路径吧 array[0] = image;图片读出来了。如果你有一个Image对象,想把它写入文件可以这样做:BufferedImage image = ImageIO.read(new...
java实现图片上传下载?
用java完成图片多张批量上传的功能,还有就是后台的应该怎么处理上传的照片。 环境准备 1.下载并安装Tomcat(已经有很多关于Tomcat安装以及使用的文章,在这里不再介绍); 2.下载Fileupload的jar包commons-fileupload-1.0-beta-1.jar,并将该文件拷贝到{$TOMCAT}\/common\/lib目录下(其中{$TOMCAT}为Tomcat的安装目录); ...
java图片压缩算法-java如何实现把一个大图片压缩到指定大小的图片且长...
java图片压缩比为1 java压缩图片,按照比例进行压缩 publicstaticvoidmain(String[]args){ try{ \/\/图片所在路径 BufferedImagetemplateImage=(newFile("C:\\\\Users\\\\晏丁丁\\\\Pictures\\\\图片1.png"));\/\/原始图片的长度和宽度 intheight=();intwidth=();\/\/通过比例压缩 floatscale=0.5f;\/\/通过固定...
JAVA界面设计怎么插入背景图片
具体方法如下:利用标签组件来设置,具体代码如下:=new JPanel(); \/\/创建面板pnlMain。().add(pnlMain); \/\/将pnlMain设置为主面板。Iconi=new ImageIcon("背景.jpg"); \/*用源图片“背景.jpg”构造一个ImageIcon对象i,需要注意如果图片的路径使用的是相对路径,则图片文件必须放在类文件所在文件夹...
用java怎么读取图片
思路:使用 java.awt.Image包下的Image可以接收图片。读取则使用ImageIO对象。代码如下:\/ 读取图片,首先导入以下的包 \/ import java.awt.Image;import javax.imageio.ImageIO;import java.io.*;\/ 用Image对象来接收图片 路径根据实际情况修改 \/ Image image = ImageIO.read(new File("c:\\\\1.png...
壬菡凯特: 已知 Image img int imgW = img.getWidth(); int imgH = img.getHeight(); int[] RGBData = new int[imgW*imgH]; img.getRGB(RGBData,0,imgW,0,0,imgW,imgH); int tmp = (255 << 24)|0x00444444; for(int i=0;i<RGBData.length;i++) {RGBData[i] &= ...
吴起县18061176877: 求一个用java编写的图片拼接程序(全景图拼接问题) - ?
壬菡凯特: 最近木有时间上网,偶然看到该题,没有现成的程序,给您个思路吧,图片在程序中本身是存的是一个二进制矩阵,如要拼接只需将两张图片转换成两个矩阵然后合并成一个大矩阵即可,从哪个像素开始都可以从矩阵中得到数据,切割图片亦是如此,计算一下便可.不知对您是否有帮助
吴起县18061176877: 怎么用java实现图中的数据结构 - ?
壬菡凯特: 用编程实现图的存储一般有常见的有两种方式,第一种是邻接链表、第二种就是邻接矩阵.邻接链表就是将图中的每一个点都单独作为一个单独链表的起点,为每个顶点保存一个链表.链表的每一个节点都记录了与之相邻的节点的信息.邻接矩阵就是将图转换成一个二维数组,数组的x和y均表示图中每个节点到其他节点的连接状况,能连通用一种状态表示,不能连通用另外一中方式表示,这样就形成了一个笛卡尔积.也就是一个二维数组.
吴起县18061176877: 用java写个程序 将 图像文件(png,jpg,等等) 转换成byte数组的 程序 谢谢 了 - ?
壬菡凯特: /* 读写图像文件 */ import javax.swing.JOptionPane; import java.io.*; class FileRW{int bytes; byte buffer[ ] = new byte[65560]; FileInputStream fileInput; FileOutputStream fileOutput; FileRW() { takeimg(); loadimg(); JOptionPane....
吴起县18061176877: Java 读取jpg,gif 生成数组.... - ?
壬菡凯特: 如果要把jpeg转换成image对象 com.sun.image.codec.jpeg.JPEGCodec; 或者 javax.imageio.ImageIO.read() 如果相反的动作就是 com.sun.image.codec.jpeg.JPEGImageEncoder; 其他图片格式,只要找到相应的解码器就可以
吴起县18061176877: java 将图片转为三维数组 - ?
壬菡凯特: 自己读进来,解码出来,就写到那样的数组中了.
吴起县18061176877: 求用JAVA编写一个程序,利用图的矩阵表示方法对任意指定的图,判断其连通性?
壬菡凯特: public class Test { public static void main(String[] args) { int sum只要是可以用for循环做出来的,都可以转成while循环的... public static
吴起县18061176877: 想请教一下java的编程前辈们,如果不用imageIO类的话怎样把一个jpg图片读入到二维数组中处理? - ?
壬菡凯特: 不知道你说的特定jre是什么意思,不是一个只有有限功能的jre,比如嵌入式平台,如果是这样我建议你先用标准javase开发一个程序然后把图片变成数组存到文件里去,然后你直接读这个文件就可以了.可以用BufferedImage的getRGB(int x, int y)来获得每一个点得像素值然后存入到文本文件,你的程序只要读这个文本就可以了.当然你可以再你那个专用jre上在加入一个Jpg读取功能,不过如果他本身不支持,你加上去就费劲很多.
吴起县18061176877: java 把矩阵转换为图片 - ?
壬菡凯特: import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; public class ...
吴起县18061176877: 如何用java绘制矩阵的图 - ?
壬菡凯特: 如果读取得到的二维数组 ,存储的是每个像素的颜色值 , 那么很简单, 可以使用 数组转换到图片(网上有很多的代码) , 然后绘制到JFrame等窗体上.如果读取的二维数组,是类似于下面这种形式 {{2018,20},{2017,30},{2016,15}}1. 可以使用...