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

您的位置:首頁技術文章
文章詳情頁

Java利用opencv實現用字符展示視頻或圖片的方法

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

背景:前段時間看到有人將圖片轉成符號,感覺挺有意思的,就結合了一下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.*;/** * 將圖片轉成text文件輸出 * @author Litluecat */public class Image2Text { static { //opencv_java410.dll的所在地址,自己換成自己dll的地址 System.load('D:Sofewareopencvbuildjavax64opencv_java410.dll'); } /** 此處設置灰度字符*/ private static char[] cs = new char[] {’0’,’1’,’.’,’ ’}; public static void main(String[] args) throws IOException { //String imageUrl = 'E:1.png'; // 設置JTextArea,用于展示字符 JTextArea textArea = getJFrame('XXTop', '宋體', 0, 2, 900, 900); // 將圖片轉成字符 //textArea.setText(image2Text(imageUrl,1).toString()); //將視頻轉成字符 video2TextByOpenCV(textArea, 'E:1.mp4', 1); } /** * 生成JFrame窗口,并返回JTextArea對象 * @param frameTitle 窗口標題 * @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(); //創建一個窗口對象 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()); //當TextArea里的內容過長時生成滾動條 panel.add(new JScrollPane(textArea)); frame.add(panel); //對窗口設置標題 frame.setTitle(frameTitle); //設置窗口的大小 frame.setSize(JFWideth,JFHeight); //設置窗口界面的關閉按鈕真的生效(也可以直接傳一個3進去,JFrame.EXIT_ON_CLOSE==3,效果一樣) frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置窗口居中顯示 frame.setLocationRelativeTo(null); //設置窗口置頂顯示 frame.setAlwaysOnTop(true); //設置窗口顯示 frame.setVisible(true); return textArea; } /** * OpenCV-4.1.0 從視頻文件中讀取 * @param textArea JTextArea文本框對象 * @param targetImgUrl 視頻地址 * @param img2TextSzie 圖片轉文本縮小比例 */ 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實現 * @param image 待處理Mat圖片(視頻中的某一幀) * @param size 對結果進行縮小,1為不縮小 */ public static StringBuffer image2TextByOpenCV(Mat image,int size) throws Exception{ StringBuffer text = null; Mat img_mat = new Mat(); //mat表示要要轉換的圖片[Mat類型],img_mat表示轉換后的圖片 Imgproc.cvtColor(image, img_mat, Imgproc.COLOR_RGB2GRAY); int rows = img_mat.rows(); int cols = img_mat.cols(); // 圖片轉字符串后的數組 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(); // 開始拼接內容 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 對結果進行縮小,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(); // 圖片轉字符串后的數組 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(); // 開始拼接內容 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實現用字符展示視頻或圖片的方法

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

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
五月天综合网站| 日本综合字幕| 最新日韩欧美| 久久国产成人午夜av影院宅| 成人看片网站| 久久亚洲精品中文字幕蜜潮电影| 欧美亚洲日本精品| 日韩大片在线观看| 成人久久一区| 亚洲伦乱视频| 欧美福利一区| 亚洲专区在线| 日韩精品1区2区3区| 国产欧美日韩影院| 久久一区国产| 91精品一区国产高清在线gif| 亚洲成人一区| 亚洲欧洲专区| 国产亚洲高清一区| 高潮久久久久久久久久久久久久| 欧美亚洲日本精品| 日韩视频二区| 日韩av一区二区三区四区| 国产精品久久乐| 性欧美videohd高精| 99成人超碰| 亚洲一区不卡| 国产欧美在线观看免费| 91综合视频| 9国产精品视频| 欧美在线黄色| av在线最新| 亚洲欧美日韩视频二区| 欧美日韩一区自拍| 色偷偷色偷偷色偷偷在线视频| 免费不卡中文字幕在线| 日韩一区二区三免费高清在线观看| 久久在线91| 性欧美69xoxoxoxo| 国产亚洲欧美日韩精品一区二区三区| 欧美黑人巨大videos精品| 欧洲精品一区二区三区| 伊人国产精品| 精品精品国产三级a∨在线| 午夜欧美理论片| 91精品国产自产精品男人的天堂 | 日韩1区2区日韩1区2区| 中文字幕成在线观看| 亚洲影视一区| 国产成人久久精品麻豆二区 | 亚洲aa在线| 精品国产亚洲一区二区三区在线 | 国产欧美在线| 精品视频一区二区三区在线观看 | 99成人在线| 国产伦精品一区二区三区在线播放| 精品国产一区二区三区噜噜噜| 欧美.日韩.国产.一区.二区 | 私拍精品福利视频在线一区| 亚洲精品伊人| 日韩精品2区| 在线免费观看亚洲| 日韩欧美不卡| 亚洲制服欧美另类| 午夜精品久久久久久久久久蜜桃| 日本在线成人| 亚洲二区在线| 欧美成a人片免费观看久久五月天| 欧美在线资源| 国产精品精品| 日韩avvvv在线播放| 欧美午夜不卡| 久久女人天堂| 中文字幕日韩亚洲| 亚洲国产专区| 成人午夜在线| 欧美视频久久| 免费看的黄色欧美网站| 精品国产亚洲一区二区三区在线 | 欧美一区二区三区高清视频| 国产精品巨作av| 亚洲一区二区日韩| 国产91久久精品一区二区| 久久不见久久见免费视频7| 视频在线观看一区二区三区| 欧美黄色网页| 精品视频免费| 7777精品| 免费在线观看不卡| 不卡在线一区二区| 九九精品调教| 9999国产精品| 国内在线观看一区二区三区| 国产日韩精品视频一区二区三区| 视频在线观看一区| aⅴ色国产欧美| 亚洲午夜久久久久久尤物| 中文字幕在线看片| 国产成人免费精品| 美女久久久精品| 国产调教一区二区三区| 日韩美女精品| 亚洲毛片视频| 欧美专区在线| 亚洲欧美高清| 久久不射网站| 影音国产精品| 欧美99久久| 国产99亚洲| 日韩不卡免费高清视频| 成人一区而且| 成人国产精品| 91免费精品| 免费一二一二在线视频| 日本综合字幕| 久久精品主播| 91成人精品| 亚洲综合三区| 亚洲专区欧美专区| 免费美女久久99| 亚洲精选av| 日本va欧美va瓶| 国产精品亚洲一区二区在线观看| 国产美女撒尿一区二区| 国产精品毛片久久久| 久久亚州av| 国产不卡av一区二区| 国产aⅴ精品一区二区三区久久| 荡女精品导航| 欧美aa一级| 91精品国产乱码久久久久久久| 亚洲天堂久久| 视频一区二区三区中文字幕| 亚洲欧洲一区| 免费观看在线综合色| 日韩高清中文字幕一区| 国产三级一区| 成人污污视频| 天堂资源在线亚洲| 日韩中文字幕一区二区三区| 日韩和欧美的一区| 国产精品亚洲人成在99www| 国产福利一区二区三区在线播放| 国产精品网址| 91综合网人人| 亚洲精品极品少妇16p| 日韩影院在线观看| 欧美日韩午夜电影网| 国产精品网址| 天堂а√在线最新版中文在线| 国产综合婷婷| 色8久久久久| 福利一区和二区| 好吊日精品视频| 欧美永久精品| 日韩国产欧美| 亚洲香蕉视频| 精品视频一区二区三区四区五区| 在线成人动漫av| 日本在线不卡视频| 麻豆一区在线| 午夜欧美理论片| 国产日韩欧美一区在线| 水蜜桃精品av一区二区| 好看的亚洲午夜视频在线| 日韩激情网站| 日韩电影二区| 在线精品观看| 亚洲三级毛片| 快she精品国产999| 日本视频一区二区| 高清一区二区三区| 国产精品毛片| 国产伦一区二区三区| 国产一区二区三区黄网站| 日韩欧美久久| 国产午夜久久| 91精品在线观看国产| 国产欧美日韩一区二区三区四区| 91成人精品| 欧美亚洲综合视频| аⅴ资源天堂资源库在线| 在线亚洲免费| 精品国产亚洲一区二区三区在线 | 亚洲ww精品| 久久久久久网| 免费精品视频最新在线| 国产在视频一区二区三区吞精| 99国内精品| 成人污污视频| 少妇精品久久久一区二区| 国产精品精品国产一区二区| 国精品一区二区三区| 国产欧美啪啪| 欧美在线亚洲综合一区| 久久精品国产精品亚洲毛片| 香蕉视频成人在线观看| 福利片在线一区二区| 日韩av资源网| 精品中国亚洲|