日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法

瀏覽:121日期:2022-08-18 18:26:59

背景:前段時間看到有人將圖片轉(zhuǎn)成符號,感覺挺有意思的,就結(jié)合了一下opencv。代碼如下:

package org.fxd.utils;import org.opencv.core.Mat;import org.opencv.imgproc.Imgproc;import org.opencv.videoio.VideoCapture;import javax.imageio.ImageIO;import javax.swing.*;import java.awt.*;import java.awt.image.BufferedImage;import java.io.*;/** * 將圖片轉(zhuǎn)成text文件輸出 * @author Litluecat */public class Image2Text { static { //opencv_java410.dll的所在地址,自己換成自己dll的地址 System.load('D:Sofewareopencvbuildjavax64opencv_java410.dll'); } /** 此處設(shè)置灰度字符*/ private static char[] cs = new char[] {’0’,’1’,’.’,’ ’}; public static void main(String[] args) throws IOException { //String imageUrl = 'E:1.png'; // 設(shè)置JTextArea,用于展示字符 JTextArea textArea = getJFrame('XXTop', '宋體', 0, 2, 900, 900); // 將圖片轉(zhuǎn)成字符 //textArea.setText(image2Text(imageUrl,1).toString()); //將視頻轉(zhuǎn)成字符 video2TextByOpenCV(textArea, 'E:1.mp4', 1); } /** * 生成JFrame窗口,并返回JTextArea對象 * @param frameTitle 窗口標(biāo)題 * @param fontName 文本框中字體類型 * @param fontStyle 文本框中字體格式 * @param fontSize 文本框中字體大小 * @param JFWideth 窗口寬度 * @param JFHeight 窗口高度 * @return */ public static JTextArea getJFrame(String frameTitle,String fontName, int fontStyle, int fontSize, int JFWideth, int JFHeight){ JFrame frame = new JFrame(); //創(chuàng)建一個窗口對象 JPanel panel = new JPanel(); JTextArea textArea = new JTextArea(); // name:字體類型 style:0,表示字形;1,粗體;2,斜體 size:字體大小 textArea.setFont(new Font(fontName,fontStyle,fontSize)); panel.setLayout(new GridLayout()); //當(dāng)TextArea里的內(nèi)容過長時生成滾動條 panel.add(new JScrollPane(textArea)); frame.add(panel); //對窗口設(shè)置標(biāo)題 frame.setTitle(frameTitle); //設(shè)置窗口的大小 frame.setSize(JFWideth,JFHeight); //設(shè)置窗口界面的關(guān)閉按鈕真的生效(也可以直接傳一個3進(jìn)去,JFrame.EXIT_ON_CLOSE==3,效果一樣) frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設(shè)置窗口居中顯示 frame.setLocationRelativeTo(null); //設(shè)置窗口置頂顯示 frame.setAlwaysOnTop(true); //設(shè)置窗口顯示 frame.setVisible(true); return textArea; } /** * OpenCV-4.1.0 從視頻文件中讀取 * @param textArea JTextArea文本框?qū)ο? * @param targetImgUrl 視頻地址 * @param img2TextSzie 圖片轉(zhuǎn)文本縮小比例 */ public static void video2TextByOpenCV(JTextArea textArea, String targetImgUrl, int img2TextSzie) { VideoCapture capture=new VideoCapture(); //1 讀取視頻文件的路徑 capture.open(targetImgUrl); if(!capture.isOpened()){ System.out.println('讀取視頻文件失敗!'); return; } Mat video=new Mat(); while(capture.isOpened()) { //2 視頻文件的視頻寫入 Mat video 中 capture.read(video); try{textArea.setText(image2TextByOpenCV(video,img2TextSzie).toString()); }catch (Exception e){System.out.println('圖片識別異常');break; } } } /** *基于openCV實現(xiàn) * @param image 待處理Mat圖片(視頻中的某一幀) * @param size 對結(jié)果進(jìn)行縮小,1為不縮小 */ public static StringBuffer image2TextByOpenCV(Mat image,int size) throws Exception{ StringBuffer text = null; Mat img_mat = new Mat(); //mat表示要要轉(zhuǎn)換的圖片[Mat類型],img_mat表示轉(zhuǎn)換后的圖片 Imgproc.cvtColor(image, img_mat, Imgproc.COLOR_RGB2GRAY); int rows = img_mat.rows(); int cols = img_mat.cols(); // 圖片轉(zhuǎn)字符串后的數(shù)組 char[][] css = new char[rows/size + 1][cols/size + 1]; for(int x=0; x<rows; x+=size){ for (int y=0; y<cols; y+=size){//獲得圖片的灰度值 x,y 表示像素點的位置(姑且理解為像素點吧)int gray = (int) img_mat.get(x, y)[0];// 得到灰度值int index = Math.round((gray * cs.length -1) / 255);css[x/size][y/size] = cs[index]; } } StringBuffer sb = new StringBuffer(); // 開始拼接內(nèi)容 for (int x = 0; x < css.length; x++) { for (int y = 0; y < css[0].length; y++) {sb.append(css[x][y]); } sb.append('rn'); } return sb; } /** * @param imageUrl 圖片地址 * @param size 對結(jié)果進(jìn)行縮小,1為不縮小 */ public static StringBuffer image2Text(String imageUrl,int size){ StringBuffer text = null; try { BufferedImage image = ImageIO.read(new File(imageUrl)); int width = image.getWidth(); int height = image.getHeight(); // 圖片轉(zhuǎn)字符串后的數(shù)組 char[][] css = new char[width/size + 1][height/size + 1]; for (int x = 0; x < width; x+=size) {for (int y = 0; y < height; y+=size) { int rgb = image.getRGB(x, y); Color c = new Color(rgb); // 得到灰度值 int cc = (c.getRed() + c.getGreen() + c.getBlue()) / 3; css[x/size][y/size] = cs[(int) ((cc * cs.length - 1) / 255)];} } StringBuffer sb = new StringBuffer(); // 開始拼接內(nèi)容 for (int y = 0; y < css[0].length; y++) {for (int x = 0; x < css.length; x++) { sb.append(css[x][y]);}sb.append('rn'); } text = sb; } catch (IOException e) { System.out.println(e); } return text; }}

效果如下:

Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法

到此這篇關(guān)于Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法的文章就介紹到這了,更多相關(guān)java實現(xiàn)展示視頻或圖片內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品伦理| 红桃视频国产精品| 欧美 日韩 国产一区二区在线视频| 日韩高清不卡一区二区| 日韩欧美美女在线观看| 国产亚洲一卡2卡3卡4卡新区| 日本不卡视频在线观看| 蜜桃视频欧美| 狠狠色狠狠色综合日日tαg| 欧美片第1页综合| 日韩精品一二三区| 中文视频一区| 久久av一区| 亚洲国产日韩欧美在线| 99久久婷婷| 亚洲免费精品| 欧美高清一区| 欧美日韩一区二区综合| 欧美不卡高清| 亚洲精品国产嫩草在线观看 | 国产精品2023| 久久精品av麻豆的观看方式| 亚洲精品麻豆| 亚洲+小说+欧美+激情+另类| 久久福利精品| 亚洲免费成人| 日本午夜精品视频在线观看| 日韩久久99| 日韩精品成人| 国产精品极品在线观看| 国产精久久久| 久久69成人| 亚洲一级高清| 亚洲综合欧美| 国产免费av国片精品草莓男男| 国产精品毛片久久久| 国产极品嫩模在线观看91精品| 成年男女免费视频网站不卡| 国内在线观看一区二区三区| 国产+成+人+亚洲欧洲在线| 欧美/亚洲一区| 免费久久99精品国产自在现线| 日韩精品视频一区二区三区| 国产视频一区二区在线播放| 久久av免费| 久久精品成人| 亚洲激情久久| 蜜桃一区二区三区在线| 国产精品一区高清| 精品久久久久中文字幕小说| 国内自拍视频一区二区三区| 国产欧美日韩免费观看| 欧美三级精品| 亚洲日本网址| 一区免费视频| 国产精品久久亚洲不卡| 女生影院久久| 亚洲少妇在线| 美女精品一区二区| 桃色av一区二区| 红桃视频欧美| 国产精品久久久久久模特| 久久久久久色 | 免费精品国产| 欧美日韩va| 日韩av免费大片| 91九色精品国产一区二区| 69精品国产久热在线观看| 精品美女视频| 欧美日韩在线网站| 午夜视频精品| 国产欧美大片| 日韩毛片视频| 免费视频最近日韩| www.com.cn成人| 99国产精品视频免费观看一公开 | 日本中文字幕一区二区视频| 毛片不卡一区二区| 亚洲一区导航| 免费看一区二区三区| 午夜宅男久久久| 久久精品资源| 国产婷婷精品| 波多野结衣久久精品| 99在线观看免费视频精品观看| 久久不见久久见免费视频7| 日韩免费看片| 日韩在线麻豆| 婷婷激情综合| 国产精品久久久久77777丨| 91中文字幕精品永久在线| 日本不卡一二三区黄网| 超碰超碰人人人人精品| 国产精品久久久免费| 91精品精品| 免费国产亚洲视频| 91精品一区国产高清在线gif| 日韩高清一区二区| 午夜在线精品偷拍| 免费一区二区三区在线视频| 黑丝美女一区二区| 久久精品日韩欧美| 久久99伊人| 亚洲网站视频| 麻豆一区在线| 水野朝阳av一区二区三区| 久久九九精品| 麻豆成人综合网| 欧美一级二级三级视频| 久久精品主播| 久久精品一区二区国产| 国产一区 二区| 亚洲一区二区三区免费在线观看 | 国产精品宾馆| 亚洲一区激情| 亚洲va在线| 丁香婷婷久久| 国产亚洲电影| 99在线|亚洲一区二区| 欧洲精品一区二区三区| 国产精品自在| 亚洲我射av| 日韩在线卡一卡二| 亚洲高清不卡| 国产精品精品| 日韩深夜视频| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产精品一区免费在线| 亚洲一区二区av| 亚洲韩日在线| 色乱码一区二区三区网站| 欧美在线看片| 天堂va欧美ⅴa亚洲va一国产| 蜜桃视频一区二区三区在线观看| 日韩精品影视| 日本а中文在线天堂| 欧美国产偷国产精品三区| 国产激情久久| 麻豆国产精品777777在线| 911精品国产| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲三级网站| 视频在线观看一区二区三区| 不卡一区2区| 久久一级电影| 亚洲高清不卡| 蜜桃tv一区二区三区| 免费国产自久久久久三四区久久| 水蜜桃精品av一区二区| 欧美久久天堂| 欧美男人天堂| 天堂√8在线中文| 亚洲欧洲高清| 丁香六月综合| 国产剧情在线观看一区| 欧美永久精品| 免费久久精品视频| 亚洲v天堂v手机在线| 蜜臀久久久久久久| 在线亚洲欧美| 亚洲a级精品| 日韩在线黄色| 色综合视频一区二区三区日韩| 免费久久精品视频| 日韩中文av| 精品一区视频| 国产一区二区三区免费在线| 日韩国产综合| 久久免费黄色| 精品中国亚洲| 欧美一区二区三区高清视频 | 美女久久99| 日韩精品不卡一区二区| 久久网站免费观看| 在线精品观看| 日韩二区三区在线观看| 91福利精品在线观看| 免费在线成人| 欧美xxxx中国| 亚洲经典在线| 日韩在线观看一区二区三区| 亚洲精品四区| 精品黄色一级片| 成人小电影网站| 最近高清中文在线字幕在线观看1| 激情五月色综合国产精品| 国产精品日本| 国产精品1区| 亚洲爱爱视频| 三级欧美韩日大片在线看| 日韩精品视频网| 高清一区二区| 亚洲精品99| 乱一区二区av| 久久人人99| 国产精品尤物| jizzjizz中国精品麻豆| 四虎8848精品成人免费网站| 免费久久久久久久久| 日韩国产一区二|