導航:首頁 > 編程語言 > java獲取圖片的像素

java獲取圖片的像素

發布時間:2022-10-17 03:40:31

⑴ 關於通過java獲取圖片像素點時出現 java.lang.OutOfMemoryError: Java heap space 問題

沒有發現好的辦法,不過可以試一下調整eclipse jvm內存。
設置 eclipse.ini 加入下面選項
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M

你可以根據具體情況修改那些數字。
當然還有其他辦法調整eclipse jvm內存,也要根據你使用的eclipse 來調整。

⑵ java如何獲得bmp圖片的dpi值,記得有個水平解析度和垂直解析度

1、讀取一個bmp文件,把bmp的所有像素用rgbArray存儲起來。
2、然後取其中一個像素點(x0,y0),把它構造成一個Color對象。
3、構造一個類型一樣的BufferedImage imgOut,把像素矩陣rgbArray寫到BufferedImage。
4、把imgOut寫入文件
這個Color對象有getRed,getBlue,getBlack方法,可以分別獲取這個像素在三個顏色分量上的灰度值。

⑶ Java 如何獲取一張圖片的像素坐標

這個所謂像素就是你獲得的每個點,而且你是放在數組里,不過應該是二維數組吧,你上邊寫的是一維數組,二位的話數組中所在的位置不就是像素坐標了嗎

⑷ java 怎麼獲取圖片圓型區域里的所有像素點

首先,點動成線,也就是如果把一條線花短一點就可以類似一個點。其次,點的大小問題,就像windows自帶的畫圖一樣,點的大小是可以改變的,很靈活,用代碼寫很麻煩。在其次,Graphics雖說沒有點,但是你畫一個實心的圓就是點了

⑸ java中如何讀取圖片的像素

BufferedImage img = ImageIO.read(new File(filename));
Raster ra = img.getData();
Rectangle rect = ra.getBounds();
// int nWidth = ra.getMinX();
int nImageDate[] = new int[rect.height*rect.width];
int nTemp[] = new int[400*400];
nImageDate = ra.getPixels(0,0,rect.width, rect.height,nTemp);

⑹ java 中如何獲得灰度圖像的像素值,getRGB和getRaster有什麼區別

關於圖像像素值,我想要先講一下Java中如何組織一個圖像對象BufferedImage的,
一個BufferedImage的像素數據儲存在Raster中,ColorModel裡面儲存顏色空間,類型等
信息,當前Java只支持一下三種圖像格式- JPG,PNG,GIF,如何向讓Java支持其它格式,首
先要 完成Java中的圖像讀寫介面,然後打成jar,加上啟動參數- Xbootclasspath/p
newimageformatIO.jar即可。
取得BufferedImage的代碼如下:
File file = new File("D:\\test\\blue_flower.jpg");
BufferedImage image = ImageIO.read(file);

取得像素使用getRGB,代碼如下:
int type= image.getType();
if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
return (int [])image.getRaster().getDataElements(x, y, width, height, pixels );
else
return image.getRGB( x, y, width, height, pixels, 0, width );

寫入像素,才可能用到getRaster,在type為ARGB 或RGB時,必須使用getRaster().setDataElements方式設置,其他格式直接setRGB,代碼如下:
int type= image.getType();
if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
image.getRaster().setDataElements(x, y, width, height, pixels );
else
image.setRGB(x, y, width, height, pixels, 0, width );

⑺ java 如何獲取圖片的像素值

try{
File _file = new File("C:/Documents and Settings/mayuanfei/My Documents/女友照片.jpg"); //讀入文件
Image src = javax.imageio.ImageIO.read(_file); //構造Image對象
int wideth=src.getWidth(null); //得到源圖寬
int height=src.getHeight(null); //得到源圖長
System.out.println(wideth+","+height);
}catch(Exception e){
e.printStackTrace();
}

⑻ java獲取圖片解析度

用apache的開源類 上網下載個sanselan-0.97-incubator.jar架包導入項目中
這個架包所提供的類中可以讀取圖片的dpi

⑼ 給定一幅圖像,用java讀取每個像素的RGB三個顏色值

int rgbR;
int rgbG;
int rgbB;
int minx = 0;
int miny = 0;
try {
File file = new File("E:\\dd.png");
BufferedImage image = ImageIO.read(file);
int width = image.getWidth();//圖片寬度
int height = image.getHeight();//圖片高度

for (int i = minx; i < width; i++) {
for (int j = miny; j < height; j++) {
int pixel = image.getRGB(i, j); // 下面三行代碼將一個數字轉換為RGB數字
rgbR = (pixel & 0xff0000) >> 16;
rgbG = (pixel & 0xff00) >> 8;
rgbB = (pixel & 0xff);
System.out.println("i=" + i + ",j=" + j + ":(" + rgbR + "," + rgbG + "," + rgbB + ")");
}
}

System.out.println("圖片寬度為:"+width+",高度為:"+height);

} catch (IOException e) {
System.out.println("讀取文件出錯");
e.printStackTrace();
}

⑽ java 怎麼提取Image對象的像素數據

這個是一段透明化處理的代碼,裡面有獲取像素的代碼存在!希望對你有所幫助!
pixels將是像素,int pixels[] = (int[]) pgr.getPixels();這里將寫入到數組中了!

/**
* 使圖片中的某一種顏色透明
*
* @param image
* Image
* @param RGB16
* String 十六進制的六位顏色值字元串
* @param isFiltrate
* boolean
* @return Image
*/
public static Image setTranImage(Image image, String RGB16,
boolean isFiltrate)
{
int width = image.getWidth(null);
int height = image.getHeight(null);
Image abufferedimage = new BufferedImage(width, height, 2);
Graphics g = abufferedimage.getGraphics();
g.drawImage(image, 0, 0, width, height, 0, 0, width, height, null);
g.dispose();
// 透明化處理
PixelGrabber pgr = new PixelGrabber(abufferedimage, 0, 0, -1, -1, true);
try
{
pgr.grabPixels();
}
catch (InterruptedException ex)
{
ex.getStackTrace();
}
int pixels[] = (int[]) pgr.getPixels();
if (isFiltrate && RGB16.length() == 6)
{
// 循環像素
for (int i = 0; i < pixels.length; i++)
{
// 去色
if (((pixels[i] & 0x00ff0000) >> 16 == Integer.parseInt(
RGB16.substring(0, 2), 16)
&& (pixels[i] & 0x0000ff00) >> 8 == Integer.parseInt(
RGB16.substring(2, 4), 16) && (pixels[i] & 0x000000ff) == Integer
.parseInt(RGB16.substring(4, 6), 16)))
{
// 透明化
pixels[i] = 0;
}
}
}
ImageProcer ip = new MemoryImageSource(pgr.getWidth(),
pgr.getHeight(), pixels, 0, pgr.getWidth());
return toolkit.createImage(ip);
}

閱讀全文

與java獲取圖片的像素相關的資料

熱點內容
嵌入式編譯器教程 瀏覽:302
ssl數據加密傳輸 瀏覽:86
51單片機定時器方式2 瀏覽:330
命令行查看開機時間 瀏覽:812
python微博復雜網路分析 瀏覽:550
rf3148編程器 瀏覽:505
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:802
倩女幽魂老伺服器如何玩 瀏覽:563
電子鍾單片機課程設計實驗報告 瀏覽:1001
看加密頻道 瀏覽:382
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44