java圖片識別演算法
『壹』 在java中 在一張圖片中判斷是否有這一個物體 比如花 瓶子 需要通過什麼方法么
如果你已經有和圖片中這個物體完全相同的圖片(也就是這張圖片的部分截圖。。),那麼只需要遍歷一遍像素即可。如果是要識別物品的話,需要用到神經網路,建議不要使用java語言,而是使用matlab語言,matlab中有神經網路的工具箱,更方便而且運算更快。如果必須要使用java語言,在網路上有jni重新封裝的opencv庫,叫做javacv,但我沒有用過,不知道是否能夠做到識別物體。
『貳』 java識別照片是彩色還是黑白照
你可以判斷圖片的其中一個像素點,彩色圖一般都是RGB組合成的,格式是那種3*3的矩陣,而黑白圖像的像素點是通過一個固定的公式轉換來的,轉換後的像素點是1*3的矩陣
『叄』 Java 可不可以做圖像識別的系統
當然可以。
一、純JAVA開發的技術可行性,即JAVA是否能夠實現圖像識別的各種演算法。
二、如果第一點沒有問題,純JAVA與C++相比,開發效率上的差異。效率要低很多,和具體問題有關。
三、如果第一點沒有問題且第二點差異不太大時,純JAVA與C++相比,相同演算法的情況下,軟體運行效率的差異。運行效率的差異也很大,也是和具體的演算法有關。
『肆』 求java識別三角形,圓形,方形的具體演算法和原理。
首先圖片的背景和圖形的顏色肯定是不一樣的,圖片是由像素組成的(這個概念很重要),,第一步區分背景和圖形的顏色,保存背景的顏色,,第二步創建一個二維數組,這個二維數組對應於這個圖片,你比如說,我這個圖片是10*10大小的,然後我就把我這個數組保存是100*100的,即每隔0.1我取一下圖片的像素值,判斷這個像素值和背景是否一樣,如果一樣,那麼數組的對應位置就存儲0,否則存儲1,,,第三步,通過Java代碼控制滑鼠遍歷圖片,一行一行的遍歷,取像素值,與背景的像素對比,存入數組,遍歷之後二維數組就只是存儲的0和1(0代表背景,1代表圖形),,第四步,把所有為1的二維數組元素對應的坐標取出來,寫個方法判斷一下,相當於數軸知道X和Y了,你判斷一下圖形的形狀,應該不難。。。而且圖形就三個,,不難實現,,樓主可以試試
『伍』 Java 圖像識別 數字圖像處理 從一張JPG圖片中識別出若干黑色小方塊
你需要關注的主要是這個類:java.awt.image.BufferedImage
可以查閱相關的API。
java圖像處理技術在《java核心技術8 下卷》中有比較詳細的介紹。
相關技術要求和注意事項:RGB標准、ICC配置特性、
建議如果進行像素識別的話可以選取關鍵點的識別方式、而且確認像素是否符合要求使用RGB的范圍識別而非精確識別。
至於具體的識別操作過程,需要你詳細定義開始識別的位置標准(規定的或者識別圖像獲取)、邊界標准、大小(識別塊得SIZE)、分組(給識別塊確定屬性)等
『陸』 java怎樣判斷圖片格式
String flname=file.getFileName();
int imgType=flname.lastIndexOf(".");
String imgTypeStr=flname.substring(imgType);
if(!imgTypeStr.equals(".jpg")&&!imgTypeStr.equals(".gif")&&!imgTypeStr.equals(".jpeg")&&!imgTypeStr.equals(".png")&&!imgTypeStr.equals(".swf")){
}
『柒』 java 實現圖片的文字識別
摘要圖像識別是目前很熱門的研究領域,涉及的知識很廣,包括資訊理論、模式識別、模糊數學、圖像編碼、內容分類等等。本文僅對使用Java實現了一個簡單的圖像文本二值處理,關於識別並未實現。
步驟
建立文本字元模板二值矩陣
對測試字元進行二值矩陣化處理
代碼
/*
* @(#)StdModelRepository.java
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
* You should have received a of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package cn.e.ynu.sei.recognition.util;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger;import javax.imageio.ImageIO;/** * Hold character charImgs as standard model repository.
* @author 88250
* @version 1.0.0.0, Mar 20, 2008
*/
public class StdModelRepository {
/** * hold character images
*/ List charImgs = new ArrayList();
/** * default width of a character
*/ static int width = 16 /** * default height of a character
*/ static int height = 28 /** * standard character model matrix
*/ public int[][][] stdCharMatrix = new int[27][width][height];
/** * Default constructor.
*/ public StdModelRepository() {
BufferedImage lowercase = null try {
lowercase = ImageIO.read(new File("lowercase.png"));
} catch (IOException ex) {
Logger.getLogger(StdModelRepository.class.getName()).
log(Level.SEVERE, null, ex);
}
for (int i = 0 i < 26 i++) {
charImgs.add(lowercase.getSubimage(i * width,
0,
width,
height));
}
for (int i = 0 i < charImgs.size(); i++) {
Image image = charImgs.get(i);
int[] pixels = ImageUtils.getPixels(image,
image.getWidth(null),
image.getHeight(null));
stdCharMatrix[i] = ImageUtils.getSymbolMatrix(pixels, 0).clone();
ImageUtils.displayMatrix(stdCharMatrix[i]);
}
}
}
/*
* @(#)ImageUtils.java
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
* You should have received a of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package cn.e.ynu.sei.recognition.util;import java.awt.Image;import java.awt.image.PixelGrabber;import java.util.logging.Level;import java.util.logging.Logger;/** * Mainipulation of image data.
* @author 88250
* @version 1.0.0.3, Mar 20, 2008
*/
public class ImageUtils {
/** * Return all of the pixel values of sepecified <code>image< .>* @param image the sepecified image
* @param width width of the image
* @param height height of the image
* @return */ public static int[] getPixels(Image image, int width, int height) {
int[] pixels = new int[width * height];
try {
new PixelGrabber(image, 0, 0, width, height, pixels, 0, width).grabPixels();
} catch (InterruptedException ex) {
Logger.getLogger(ImageUtils.class.getName()).
log(Level.SEVERE, null, ex);
}
return pixels;
}
資源來自:
http://blog.csdn.net/chief1985/article/details/2229572