欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)提取圖片邊緣的示例代碼

 更新時間:2023年06月30日 16:13:52   作者:萬能的小裴同學(xué)  
這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)提取圖片邊緣的功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下

Java提取圖片邊緣

實(shí)現(xiàn)代碼

package qrcodeServer;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ServerMain {
	static final String rootpath="E:\\desktop\\";
	static final int Y=30;
	static boolean isboard(BufferedImage ash,int now_x,int now_y,int w,int h,int[][] kernel1,int[][] kernel2)
	{
		int tmp=kernel1.length/2;
		int x=now_x-tmp,y=now_y-tmp;
		int ken1=0,ken2=0;
		for(int i=x;i<x+kernel1.length;i++)
		{
			for(int j=y;j<y+kernel1.length;j++)
			{
				if(i<0||j<0||i>=w||j>=h)
				{
					return true;
				}
				ken1+=RGBtoAsh(ash.getRGB(i, j))*kernel1[i-x][j-y];
				ken2+=RGBtoAsh(ash.getRGB(i, j))*kernel2[i-x][j-y];
			}
		}
		ken1=ken1<0?-ken1:ken1;
		ken2=ken2<0?-ken2:ken2;
		return (ken1+ken2)/2>Y;
	}
	public static int RGBtoAsh(int rgb)
	{
		int tmp=0;
		for(int i=0;i<3;i++)
		{
			tmp+=(rgb>>(i*8))&0xFF;
		}
		return tmp/3;
	}
	public static int AshtoRGB(int ash)
	{
		int tmp=0xFF000000;
		for(int i=0;i<3;i++)
		{
			tmp|=(ash<<(i*8));
		}
		return tmp;
	}
	public static void main(String[] args) {
		try {
			BufferedImage bimg=ImageIO.read(new File(rootpath+"1.jpg"));
			int w=bimg.getWidth(),h=bimg.getHeight();
			BufferedImage bimgot=new BufferedImage(w, h, Image.SCALE_DEFAULT);
			BufferedImage tmp=new BufferedImage(w, h, Image.SCALE_DEFAULT);
			int kernel1[][]= {{1,1,1,1},
					{0,0,0,0},
					{0,0,0,0},
					{-1,-1,-1,-1}};
			int kernel2[][]= {{-1,0,0,1},
					{-1,0,0,1},
					{-1,0,0,1},
					{-1,0,0,1}
					};
			for(int i=0;i<bimg.getWidth();i++)
				for(int j=0;j<bimg.getHeight();j++)
				{
					if(isboard(bimg, i, j, w, h, kernel1,kernel2))
						bimgot.setRGB(i,j,0);
					else
						bimgot.setRGB(i,j,0xFFFFFFFF);
				}
			ImageIO.write(bimgot, "jpg",new File(rootpath+"out.jpg"));
		} catch (FileNotFoundException e) {
			// TODO 自動生成的 catch 塊
			e.printStackTrace();
		} catch (IOException e) {
			// TODO 自動生成的 catch 塊
			e.printStackTrace();
		}
	}
}

下面是效果演示

到此這篇關(guān)于Java實(shí)現(xiàn)提取圖片邊緣的示例代碼的文章就介紹到這了,更多相關(guān)Java提取圖片邊緣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java如何獲取Cookie和Session

    Java如何獲取Cookie和Session

    Cookie?和?Session之間主要是通過?SessionId?關(guān)聯(lián)起來的,?SessionId是?Cookie?和?Session?之間的橋梁,這篇文章主要介紹了Java獲取Cookie和Session的方法,需要的朋友可以參考下
    2024-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之圖(動力節(jié)點(diǎn)Java學(xué)院整理)

    Java數(shù)據(jù)結(jié)構(gòu)之圖(動力節(jié)點(diǎn)Java學(xué)院整理)

    本文章主要講解學(xué)習(xí)如何使用JAVA語言以鄰接表的方式實(shí)現(xiàn)了數(shù)據(jù)結(jié)構(gòu)---圖(Graph)。對java數(shù)據(jù)結(jié)構(gòu)之圖相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2017-04-04
  • Java 實(shí)現(xiàn)簡單Socket 通信的示例

    Java 實(shí)現(xiàn)簡單Socket 通信的示例

    這篇文章主要介紹了Java 實(shí)現(xiàn)簡單Socket 通信的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • 深入淺析drools中Fact的equality?modes

    深入淺析drools中Fact的equality?modes

    這篇文章主要介紹了drools中Fact的equality?modes的相關(guān)知識,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • SpringMVC 數(shù)據(jù)校驗實(shí)例解析

    SpringMVC 數(shù)據(jù)校驗實(shí)例解析

    這篇文章主要介紹了SpringMVC 數(shù)據(jù)校驗實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • JAVA字符串類型switch的底層原理詳析

    JAVA字符串類型switch的底層原理詳析

    這篇文章主要給大家介紹了關(guān)于JAVA字符串類型switch的底層原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JAVA具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java數(shù)組(Array)最全匯總(上篇)

    Java數(shù)組(Array)最全匯總(上篇)

    這篇文章主要介紹了Java數(shù)組(Array)最全匯總(上篇),本文章內(nèi)容詳細(xì),通過案例可以更好的理解數(shù)組的相關(guān)知識,本模塊分為了三部分,本次為上篇,需要的朋友可以參考下
    2023-01-01
  • java編寫創(chuàng)建數(shù)據(jù)庫和表的程序

    java編寫創(chuàng)建數(shù)據(jù)庫和表的程序

    這篇文章主要為大家詳細(xì)介紹了java編寫創(chuàng)建數(shù)據(jù)庫和表的程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 聊聊Java Double相加出現(xiàn)的怪事

    聊聊Java Double相加出現(xiàn)的怪事

    這篇文章主要介紹了Java Double相加出現(xiàn)的怪事,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java 迪杰斯特拉算法實(shí)現(xiàn)查找最短距離的實(shí)現(xiàn)

    Java 迪杰斯特拉算法實(shí)現(xiàn)查找最短距離的實(shí)現(xiàn)

    這篇文章主要介紹了Java 迪杰斯特拉算法實(shí)現(xiàn)查找最短距離的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論