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

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

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

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

一、簡(jiǎn)介

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

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

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

我們只是需要把每個(gè)像素點(diǎn)都轉(zhuǎn)化為灰度值,就可實(shí)現(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); ?// 顯示灰度圖片
? ? }

? ? // 灰度處理,把原圖傳進(jìn)去,傳出來為修改后的圖
? ? public BufferedImage gray(BufferedImage b){
? ? ? ? int width = b.getWidth();
? ? ? ? int height =b.getHeight();
? ? ? ? // 下面這個(gè)別忘了定義,不然會(huì)出錯(cuò)
? ? ? ? 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)此像素點(diǎn)的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é)果演示

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

    SpringBoot攔截器實(shí)現(xiàn)對(duì)404和500等錯(cuò)誤的攔截

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

    Java中JDom解析XML_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

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

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

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

    spring?IOC容器的Bean管理XML自動(dòng)裝配過程

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

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

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

    Java基礎(chǔ)學(xué)習(xí)之接口詳解

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

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

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

    MyBatis-Plus高級(jí)擴(kuò)展詳解

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

最新評(píng)論

诸暨市| 古浪县| 遂平县| 衡东县| 全南县| 泽州县| 多伦县| 运城市| 松滋市| 独山县| 育儿| 海原县| 保定市| 泸定县| 苍梧县| 夹江县| 恩平市| 亳州市| 本溪| 芦山县| 泉州市| 乌兰浩特市| 邯郸县| 安岳县| 南昌市| 宜章县| 大关县| 武强县| 黑河市| 吉安县| 庆元县| 临高县| 旬邑县| 登封市| 忻城县| 福泉市| 德令哈市| 隆子县| 崇文区| 新竹县| 巨鹿县|