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

Java數(shù)字圖像處理之圖像灰度處理

 更新時間:2022年06月10日 16:04:02   作者:智慧的豬-  
這篇文章主要為大家詳細介紹了Java數(shù)字圖像處理之圖像灰度處理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java數(shù)字圖像處理基礎(chǔ)之圖像灰度處理,供大家參考,具體內(nèi)容如下

一、簡介

圖像灰度化處理可以作為圖像處理的預(yù)處理步驟,在圖像處理中是十分重要的一件事?;叶葓D像上每個像素的顏色值又稱為灰度,指黑白圖像中點的顏色深度,范圍一般從0到255,白色為255,黑色為0。

灰度轉(zhuǎn)換公式:

int gray = (int)(color.getRed() * 0.299 + color.getGreen() * 0.587 + color.getBlue() *0.114);

我們只是需要把每個像素點都轉(zhuǎn)化為灰度值,就可實現(xiàn)圖像的灰度轉(zhuǎn)化;

二、代碼演示

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class ImageGray extends Canvas {
? ? JFrame jframe = new JFrame("圖像灰度處理");
? ? BufferedImage bufferedImage,bufferedImage_end ;
? ? Image image,image_end;

? ? public ImageGray(){
? ? ? ? try {
? ? ? ? ? ? bufferedImage = ImageIO.read(new File("D:\\EDge下載地址\\lena.jpg"));
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? jframe.setLayout(null);
? ? ? ? // 定義位置
? ? ? ? jframe.setBounds(200,200,800,600);
? ? ? ? this.setBounds(0,0,800,600);
? ? ? ? jframe.add(this);
? ? ? ? jframe.setVisible(true);
? ? }

? ? @Override
? ? public void paint(Graphics g) {
? ? ? ? image =(Image)bufferedImage;
? ? ? ? image_end =(Image)gray(bufferedImage);
? ? ? ? g.drawImage(image,0,0,null); ?// 顯示原圖
? ? ? ? g.drawLine(350,10,350,600); ? ?// 中間的線
? ? ? ? g.drawImage(image_end,370,0,null); ?// 顯示灰度圖片
? ? }

? ? // 灰度處理,把原圖傳進去,傳出來為修改后的圖
? ? public BufferedImage gray(BufferedImage b){
? ? ? ? int width = b.getWidth();
? ? ? ? int height =b.getHeight();
? ? ? ? // 下面這個別忘了定義,不然會出錯
? ? ? ? bufferedImage_end = new BufferedImage(width,height, BufferedImage.TYPE_3BYTE_BGR );
? ? ? ? // 雙層循環(huán)更改圖片的RGB值,把得到的灰度值存到bufferedImage_end中,然后返回bufferedImage_end
? ? ? ? for (int y = 0; y < height; y++) {
? ? ? ? ? ? for (int x = 0; x < width; x++) {
? ? ? ? ? ? ? ? // 獲取到(x,y)此像素點的Colo,轉(zhuǎn)化為灰度
? ? ? ? ? ? ? ? Color color = new Color(bufferedImage.getRGB(x,y));
? ? ? ? ? ? ? ? int gray = (int)(color.getRed() * 0.299 + color.getGreen() * 0.587 + color.getBlue() *0.114);
? ? ? ? ? ? ? ? Color color_end = new Color(gray,gray,gray);
? ? ? ? ? ? ? ? bufferedImage_end.setRGB(x,y,color_end.getRGB());
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return bufferedImage_end;
? ? }

? ? public static void main(String[] args) {
? ? ? ? new ImageGray();
? ? }
}

三、結(jié)果演示

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • 如何把VS Code打造成Java開發(fā)IDE

    如何把VS Code打造成Java開發(fā)IDE

    這篇文章主要介紹了如何把VS Code打造成Java開發(fā)IDE,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 詳解springboot通過Async注解實現(xiàn)異步任務(wù)及回調(diào)的方法

    詳解springboot通過Async注解實現(xiàn)異步任務(wù)及回調(diào)的方法

    這篇文章主要介紹了springboot通過Async注解實現(xiàn)異步任務(wù)及回調(diào),文中通過一個簡單示例來直觀的理解什么是同步調(diào)用,在單元測試用例中,注入?SyncTask?對象,并在測試用例中執(zhí)行?doTaskOne(),doTaskTwo(),doTaskThree()?三個方法,具體實現(xiàn)方式跟隨小編一起看看吧
    2022-05-05
  • SpringBoot攔截器實現(xiàn)對404和500等錯誤的攔截

    SpringBoot攔截器實現(xiàn)對404和500等錯誤的攔截

    本篇文章主要介紹了SpringBoot攔截器實現(xiàn)對404和500等錯誤的攔截,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • Java中JDom解析XML_動力節(jié)點Java學院整理

    Java中JDom解析XML_動力節(jié)點Java學院整理

    JDOM是一種解析XML的Java工具包。DOM適合于當今流行的各種語言,包括Java,JavaScripte,VB,VBScript,Perl,C,C++等。下面通過本文給大家介紹Java中JDom解析XML的方法,感興趣的朋友一起學習吧
    2017-07-07
  • MyBatis框架實現(xiàn)一個簡單的數(shù)據(jù)查詢操作

    MyBatis框架實現(xiàn)一個簡單的數(shù)據(jù)查詢操作

    本文介紹了MyBatis框架下進行數(shù)據(jù)查詢操作的詳細步驟,括創(chuàng)建實體類、編寫SQL標簽、配置Mapper、開啟駝峰命名映射以及執(zhí)行SQL語句等,感興趣的可以了解一下
    2024-12-12
  • spring?IOC容器的Bean管理XML自動裝配過程

    spring?IOC容器的Bean管理XML自動裝配過程

    這篇文章主要為大家介紹了spring?IOC容器Bean管理基于XML的自動裝配過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Java 負載均衡的 5 種算法實現(xiàn)原理

    Java 負載均衡的 5 種算法實現(xiàn)原理

    這篇文章主要介紹Java 負載均衡的 5 種算法實現(xiàn)原理,負載均衡能夠平均分配客戶請求到服 務(wù)器陣列,借此提供快速獲取重要數(shù)據(jù),解決大量并發(fā)訪問服務(wù)問題,這種集群技術(shù)可以用最少的投資獲得接近于大型主機的性能。下面就來看看文章的具體內(nèi)容吧
    2021-10-10
  • Java基礎(chǔ)學習之接口詳解

    Java基礎(chǔ)學習之接口詳解

    接口,是Java語言中一種引用類型,是方法的集合,如果說類的內(nèi)部封裝了成員變量、構(gòu)造方法和成員方法,那么接口的內(nèi)部主要就是封裝了方法。本文通過一些示例詳細為大家展示了接口的使用,需要的可以參考一下
    2022-10-10
  • SpringBoot+Druid開啟監(jiān)控頁面的實現(xiàn)示例

    SpringBoot+Druid開啟監(jiān)控頁面的實現(xiàn)示例

    本文主要介紹了SpringBoot+Druid開啟監(jiān)控頁面的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • MyBatis-Plus高級擴展詳解

    MyBatis-Plus高級擴展詳解

    本文介紹了MyBatis-Plus中邏輯刪除和樂觀鎖的實現(xiàn)概念、方法和示例,邏輯刪除通過更改記錄狀態(tài)模擬刪除,而樂觀鎖通過版本號或時間戳確保并發(fā)操作的正確性
    2025-03-03

最新評論

城市| 那坡县| 美姑县| 如皋市| 东乡县| 西乌珠穆沁旗| 东至县| 芒康县| 荔波县| 海丰县| 兰考县| 全南县| 安岳县| 峡江县| 丹凤县| 光泽县| 辽阳市| 开平市| 二手房| 大渡口区| 隆安县| 晋江市| 乡宁县| 偃师市| 镇康县| 襄汾县| 陈巴尔虎旗| 东兰县| 崇义县| 富顺县| 同仁县| 宁南县| 泾源县| 平塘县| 遂宁市| 通城县| 南通市| 贺兰县| 黑水县| 肥东县| 阿城市|