新聞中心
現(xiàn)在,我們生活在一個(gè)信息時(shí)代,每天都在不停地收集和傳輸信息。對(duì)于每個(gè)人,無(wú)論是個(gè)人還是機(jī)構(gòu),在信息處理過(guò)程中都需要依靠信息的收集和存儲(chǔ)。而要實(shí)現(xiàn)信息的收集和存儲(chǔ),通常需要借助一些工具和技術(shù)。在這篇文章中,我們將介紹如何從圖片到數(shù)據(jù)庫(kù),輕松實(shí)現(xiàn)信息收集和存儲(chǔ)。

創(chuàng)新互聯(lián)建站-成都網(wǎng)站建設(shè)公司,專(zhuān)注成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)推廣,域名申請(qǐng),虛擬空間,網(wǎng)站改版維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)建站。
1. 圖片的轉(zhuǎn)換和識(shí)別
在信息收集的過(guò)程中,圖片通常是不可或缺的一種資源,它可以提供很多有價(jià)值的信息。但是,圖片本質(zhì)上是一種非結(jié)構(gòu)化的數(shù)據(jù),直接存儲(chǔ)在數(shù)據(jù)庫(kù)中是不可能的。為了更好地處理這些圖片資源,我們需要對(duì)圖片進(jìn)行轉(zhuǎn)換和識(shí)別。
圖片的轉(zhuǎn)換可以幫助我們將圖片從非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù),這樣可以更好地進(jìn)行后續(xù)的處理。常見(jiàn)的圖片轉(zhuǎn)換技術(shù)包括:OCR文字識(shí)別、圖像分割、色彩識(shí)別等等。可以使用一些開(kāi)源的庫(kù)和算法實(shí)現(xiàn)這些技術(shù),例如Tesseract、OpenCV等等。
2. 數(shù)據(jù)庫(kù)的選擇和設(shè)計(jì)
在實(shí)現(xiàn)信息的存儲(chǔ)之前,我們需要選擇合適的數(shù)據(jù)庫(kù)和設(shè)計(jì)好數(shù)據(jù)庫(kù)的結(jié)構(gòu)。根據(jù)不同的需求和應(yīng)用場(chǎng)景,數(shù)據(jù)庫(kù)的選擇也會(huì)有所不同。常見(jiàn)的數(shù)據(jù)庫(kù)有:關(guān)系數(shù)據(jù)庫(kù)、面向?qū)ο髷?shù)據(jù)庫(kù)、NoSQL數(shù)據(jù)庫(kù)等等。
關(guān)系數(shù)據(jù)庫(kù)是最常見(jiàn)的數(shù)據(jù)庫(kù)類(lèi)型,能夠支持事務(wù)處理和龐大的數(shù)據(jù)集。面向?qū)ο髷?shù)據(jù)庫(kù)則更適合于處理面向?qū)ο竽P偷臄?shù)據(jù)。NoSQL數(shù)據(jù)庫(kù)則可以支持半結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)組織方式,并且具有高可伸縮性和高性能。
在設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)時(shí),需要考慮到數(shù)據(jù)的規(guī)模、類(lèi)型、關(guān)系等等因素。合理的設(shè)計(jì)可以大幅提升數(shù)據(jù)庫(kù)的性能和可靠性。
3. 數(shù)據(jù)庫(kù)的存儲(chǔ)和訪(fǎng)問(wèn)
在完成數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)之后,我們需要將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,并且在需要時(shí)能夠訪(fǎng)問(wèn)數(shù)據(jù)。存儲(chǔ)數(shù)據(jù)通常需要使用一些特定的API和語(yǔ)句,例如SQL語(yǔ)句和MongoDB的API等等。
數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)可以通過(guò)應(yīng)用程序?qū)崿F(xiàn)。應(yīng)用程序可以使用特定的接口來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),這些接口可以是AJAX、Java、Python等常用的編程語(yǔ)言。應(yīng)用程序也可以使用一些特定的框架來(lái)簡(jiǎn)化數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的過(guò)程,例如Spring、Django等等。
4.
信息處理是現(xiàn)在最重要的任務(wù)之一。從圖片到數(shù)據(jù)庫(kù),輕松實(shí)現(xiàn)信息收集和存儲(chǔ)不僅可以方便我們獲取信息,還能夠在一些領(lǐng)域中幫助我們做出更為準(zhǔn)確、快速和高效的決策。透過(guò)這篇介紹,希望大家能夠找到合適自己應(yīng)用場(chǎng)景的方法和技術(shù),順利地實(shí)現(xiàn)信息的收集和存儲(chǔ)。
相關(guān)問(wèn)題拓展閱讀:
- 有誰(shuí)知道如何把一圖片存放到mysql數(shù)據(jù)庫(kù)中
有誰(shuí)知道如何把一圖片存放到mysql數(shù)據(jù)庫(kù)中
一般沒(méi)有人這么做的,因?yàn)閳D片文件一般都比較大。試想一下你的一個(gè)圖片大小為20KB,你有5000張這樣的圖片,那你的要消耗的就是100MB,而存放到數(shù)據(jù)庫(kù)的大小肯定超過(guò)100MB,而且數(shù)據(jù)庫(kù)對(duì)圖片的提取對(duì)系統(tǒng)的消耗是很大的。
建議的做法明逗虧是用一個(gè)字符串存儲(chǔ)圖片的路徑,當(dāng)然你還可以通天其他字段寫(xiě)上圖片的大小啊什么的屬性。如:表名為image img_id int(8) unsigned;img_dir varchar(100);img_weight float(6);img_height float(6);這樣你就可以通過(guò)查詢(xún)這幾個(gè)字符串從而得到圖片了。
如果你非要用數(shù)據(jù)庫(kù)保存的話(huà),mysql好像也確激神實(shí)提供了可以存儲(chǔ)圖片的格式,具體什么去查一下mysql幫助文指族檔吧,我也既不清楚了。
GOOD LUCK?。?!
打開(kāi)圖片文件–>讀取到流中–>序列山歷輪化–>壓縮–>關(guān)閉–>寫(xiě)入數(shù)爛叢據(jù)庫(kù)(二進(jìn)制類(lèi)型字段)
取出來(lái)的:讀數(shù)據(jù)庫(kù)(存取圖片字段)–>逗信解壓–>反序列化–>顯示(或存入文件)
背景
MySQL 一直以來(lái)都有 TEXT、擾灶BLOB 等類(lèi)型用來(lái)存儲(chǔ)圖片、視頻等大對(duì)象信息。比如一張圖片,隨便一張都 5M 以上。視頻也是,隨便一部視頻就是 2G 以上。
假設(shè)用 MySQL 來(lái)存放電影視頻等信息,一部是 2G,那么存儲(chǔ) 1000 部就是 2TB,2TB 也就是 1000 條記錄而已,但是對(duì)數(shù)據(jù)庫(kù)性能來(lái)說(shuō),不僅僅是看記錄數(shù)量,更主要的還得看占用磁盤(pán)洞李頌空間大小。空間大了,所有以前的經(jīng)驗(yàn)啥的都失效了。
所以一般來(lái)說(shuō)存放這類(lèi)信息,也就是存儲(chǔ)他們的存放路徑,至于文件本身存放在哪里,那這就不是數(shù)據(jù)庫(kù)考慮的范疇了。數(shù)據(jù)庫(kù)只關(guān)心怎么來(lái)的快,怎么來(lái)的小。
舉例
雖然不推薦 MySQL 這樣做,但是也得知道 MySQL 該怎么做才行,做到心里有數(shù)。比如下面一張微信圖片,大概 5M 的樣子。
root@ytt:/var/lib/mysql-files# ls -sihl 微信圖片_.jpg.4M -rw-r–r– 1 root root 5.4M Jul 11 07:17 微信圖片_.jpg
拷貝 100 份這樣的圖片來(lái)測(cè)試
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信圖片_.jpg “$i”.jpg;done;
root@ytt:/var/lib/mysql-files# ls
100.jpg 17.jpg 25.jpg 33.jpg 41.jpg 4.jpg 58.jpg 66.jpg 74.jpg 82.jpg 90.jpg 99.jpg f8.tsv
10.jpg 18.jpg 26.jpg 34.jpg 42.jpg 50.jpg 59.jpg 67.jpg 75.jpg 83.jpg 91.jpg 9.jpg 微信圖片_.jpg
1111.jpg 19.jpg 27.jpg 35.jpg 43.jpg 51.jpg 5.jpg 68.jpg 76.jpg 84.jpg 92.jpg f1.tsv
11.jpg 1.jpg 28.jpg 36.jpg 44.jpg 52.jpg 60.jpg 69.jpg 77.jpg 85.jpg 93.jpg f2.tsv
12.jpg 20.jpg 29.jpg 37.jpg 45.jpg 53.jpg 61.jpg 6.jpg 78.jpg 86.jpg 94.jpg f3.tsv
13.jpg 21.jpg 2.jpg 38.jpg 46.jpg 54.jpg 62.jpg 70.jpg 79.jpg 87.jpg 95.jpg f4.tsv
14.jpg 22.jpg 30.jpg 39.jpg 47.jpg 55.jpg 納鄭63.jpg 71.jpg 7.jpg 88.jpg 96.jpg f5.tsv
15.jpg 23.jpg 31.jpg 3.jpg 48.jpg 56.jpg 64.jpg 72.jpg 80.jpg 89.jpg 97.jpg f6.tsv
16.jpg 24.jpg 32.jpg 40.jpg 49.jpg 57.jpg 65.jpg 73.jpg 81.jpg 8.jpg 98.jpg f7.tsv
我們建三張表,分別用 LONGBLOB、LONGTEXT 和 VARCHAR 來(lái)存儲(chǔ)這些圖片信息
mysql> show create table tt_image1G
*************************** 1. row ***************************
Table: tt_image1
Create Table: CREATE TABLE `tt_image1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image_file` longblob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
mysql> show create table tt_image2G
*************************** 1. row ***************************
Table: tt_image2
Create Table: CREATE TABLE `tt_image2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image_file` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
mysql> show create table tt_image3G
*************************** 1. row ***************************
Table: tt_image3
Create Table: CREATE TABLE `tt_image3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image_file` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
我們來(lái)給三張表插入 100 張圖片(插入前,建議把 max_allowed_packet 設(shè)置到更大)
tt_image1
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`;
do mysql -S /var/run/mysqld/mysqld.sock -e “insert into ytt.tt_image1(image_file)
values (load_file(‘/var/lib/mysql-files/$i.jpg’))”;done;
tt_image2
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`;
do mysql -S /var/run/mysqld/mysqld.sock -e “insert into ytt.tt_image2(image_file)
values (hex(load_file(‘/var/lib/mysql-files/$i.jpg’)))”;done;
tt_image3
root@ytt:/var/lib/mysql-files# aa=’begin;’;for i in `seq 1 100`;
do aa=$aa”insert into ytt.tt_image3(image_file) values
(‘/var/lib/mysql-files/$i.jpg’);”;
done;aa=$aa’commit;’;mysql -S /var/run/mysqld/mysqld.sock -e “`echo $aa`”;
檢查下三張表記錄數(shù)
mysql> select ‘tt_image1’ as name ,count(*) from tt_image1 union allselect ‘tt_image2’,count(*) from tt_image2 union all select ‘tt_image3’, count(*) from tt_image3;+++| name | count(*) |+++| tt_image1 ||| tt_image2 ||| tt_image3 ||+++3 rows in set (0.00 sec)
看下文件大小,可以看到實(shí)際大小排名,LONGTEXT 字段存儲(chǔ)的更大,LONGBLOB 字段縮小到一半,最小的是存儲(chǔ)圖片路徑的表 tt_image3。所以這里從存儲(chǔ)空間來(lái)看,存放路徑最占優(yōu)勢(shì)。
root@ytt:/var/lib/mysql/ytt# ls -silhS tt_image*.1G -rw-rmysql mysql 1.1G Jul 11 07:27 tt_image2.ibdM -rw-rmysql mysql 544M Jul 11 07:26 tt_image1.ibdK -rw-rmysql mysql 112K Jul 11 07:27 tt_image3.ibd
那么怎么把圖片取出來(lái)呢?
tt_image3 肯定是最容易的
mysql> select * from tt_image3;+—-++| id | image_file |+—-++| 1 | /var/lib/mysql-files/1.jpg |+—-++…100 rows in set (0.00 sec)
tt_image1 直接導(dǎo)出來(lái)二進(jìn)制文件即可,下面我寫(xiě)了個(gè)存儲(chǔ)過(guò)程,導(dǎo)出所有圖片。
mysql> DELIMITER $$mysql> USE `ytt`$$mysql> DROP PROCEDURE IF EXISTS `sp_get_image`$$mysql> CREATE DEFINER=`ytt`@`localhost` PROCEDURE `sp_get_image`()mysql> BEGIN DECLARE i,cnt INT DEFAULT 0; SELECT COUNT(*) FROM tt_image1 WHERE 1 INTO cnt; WHILE i DELIMITER ;mysql> call sp_get_image;
tt_image2 類(lèi)似,把 select 語(yǔ)句里 image_file 變?yōu)?unhex(image_file) 即可。
總結(jié)
這里我舉了個(gè)用 MySQL 來(lái)存放圖片的例子,總的來(lái)說(shuō)有以下三點(diǎn):
占用磁盤(pán)空間大(這樣會(huì)帶來(lái)各種各樣的功能與性能問(wèn)題,比如備份,寫(xiě)入,讀取操作等)
使用不易
還是推薦用文件路徑來(lái)代替實(shí)際的文件內(nèi)容存放
怎么把圖片上的數(shù)據(jù)庫(kù)中的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于怎么把圖片上的數(shù)據(jù)庫(kù)中,從圖片到數(shù)據(jù)庫(kù):輕松實(shí)現(xiàn)信息收集與存儲(chǔ),有誰(shuí)知道如何把一圖片存放到mysql數(shù)據(jù)庫(kù)中的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。
分享文章:從圖片到數(shù)據(jù)庫(kù):輕松實(shí)現(xiàn)信息收集與存儲(chǔ)(怎么把圖片上的數(shù)據(jù)庫(kù)中)
轉(zhuǎn)載來(lái)于:http://m.5511xx.com/article/copiscj.html


咨詢(xún)
建站咨詢(xún)
