最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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 自動(dòng)生成的 catch 塊
			e.printStackTrace();
		} catch (IOException e) {
			// TODO 自動(dòng)生成的 catch 塊
			e.printStackTrace();
		}
	}
}

下面是效果演示

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

相關(guān)文章

  • java拷貝指定目錄下所有內(nèi)容到minIO代碼實(shí)例

    java拷貝指定目錄下所有內(nèi)容到minIO代碼實(shí)例

    這篇文章主要介紹了java拷貝指定目錄下所有內(nèi)容到minIO代碼實(shí)例,創(chuàng)建桶 直接使用工具類先判斷,再創(chuàng)建即可,創(chuàng)建文件夾,需要注意以"/"結(jié)尾,實(shí)際也是在minIO上創(chuàng)建文件,只是作為目錄的表現(xiàn)形式展示,需要的朋友可以參考下
    2024-01-01
  • 詳解jenkins自動(dòng)部署springboot應(yīng)用的方法

    詳解jenkins自動(dòng)部署springboot應(yīng)用的方法

    這篇文章主要介紹了詳解jenkins自動(dòng)部署springboot應(yīng)用的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • java中JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解

    java中JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解

    這篇文章主要介紹了JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解,Java源代碼文件(.java后綴)會(huì)被Java編譯器編譯為字節(jié)碼文件,然后由JVM中的類加載器加載各個(gè)類的字節(jié)碼文件,加載完畢之后,交由JVM執(zhí)行引擎執(zhí)行。JVM中怎么存取數(shù)據(jù)和相關(guān)信息呢?,需要的朋友可以參考下
    2019-06-06
  • java后端進(jìn)行跨域的幾種方式小結(jié)

    java后端進(jìn)行跨域的幾種方式小結(jié)

    本文主要介紹了java后端進(jìn)行跨域的幾種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 解決mqtt接收中文亂碼問題及排查過程

    解決mqtt接收中文亂碼問題及排查過程

    MQTT協(xié)議不支持中文,可能導(dǎo)致亂碼,為了解決問題,建議使用支持UTF-8編碼的MQTT客戶端,如emqt工具,并確保服務(wù)器端也正確處理中文編碼,如有問題可參考emqt官網(wǎng)或相關(guān)文檔
    2025-09-09
  • Spring Cloud負(fù)載均衡及遠(yuǎn)程調(diào)用實(shí)現(xiàn)詳解

    Spring Cloud負(fù)載均衡及遠(yuǎn)程調(diào)用實(shí)現(xiàn)詳解

    這篇文章主要介紹了Spring Cloud負(fù)載均衡及遠(yuǎn)程調(diào)用實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java靜態(tài)內(nèi)部類實(shí)現(xiàn)單例過程

    Java靜態(tài)內(nèi)部類實(shí)現(xiàn)單例過程

    這篇文章主要介紹了Java靜態(tài)內(nèi)部類實(shí)現(xiàn)單例過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot Web開發(fā)之系統(tǒng)任務(wù)啟動(dòng)與路徑映射和框架整合

    SpringBoot Web開發(fā)之系統(tǒng)任務(wù)啟動(dòng)與路徑映射和框架整合

    這篇文章主要介紹了SpringBoot Web開發(fā)中的系統(tǒng)任務(wù)啟動(dòng)與路徑映射和Servlet、Filter、Listener框架整合,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • idea代碼模板設(shè)置方式

    idea代碼模板設(shè)置方式

    這篇文章主要介紹了idea代碼模板設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java實(shí)現(xiàn)簡單中國象棋

    java實(shí)現(xiàn)簡單中國象棋

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單中國象棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論

历史| 临西县| 正安县| 岢岚县| 漳州市| 柞水县| 滁州市| 启东市| 南昌县| 泗水县| 綦江县| 马山县| 襄城县| 桂阳县| 浏阳市| 莱芜市| 崇明县| 衢州市| 军事| 遵义县| 永州市| 逊克县| 西丰县| 图木舒克市| 江陵县| 濮阳县| 建宁县| 耒阳市| 内丘县| 嘉鱼县| 曲阳县| 蒲江县| 浙江省| 临江市| 防城港市| 射洪县| 和龙市| 林芝县| 农安县| 上林县| 平利县|