照片一直不停的複製粘貼下去最後與原圖是一樣的嗎?為什麼?

霧裡看花jh


如果不丟失數據(包括壓縮),複製1000萬億次都是和原圖一樣。但有些軟件會自作主張幫你壓縮(比如微信)等數據處理,結果就與原圖不一樣了。


李俊明26


實際上,有一群無聊的人做過實驗,不停的複製,畫質會越來越差,因為每一次複製都可能錯了一點點數據,積累起來,就越來越嚴重了

目前,我寫個小東西,正在做這個無聊的實驗,目前複製了3000次了,結果是什麼,到時候看




嗨咯哦啊


複製粘貼我不知道,這是我做的50次,100次,200次的截圖對比。你看一下






是阿月啊


對我們來說,一張照片就是一張照片,隨著時間的推移,紙質的照片會變得泛白模糊,直至最後消失。但對於電腦來說,無論是照片,視頻或者Word文檔,他都是一堆二進制數字,因為電腦之中存儲的就是二進制數字零或者一,不論在我們人類看起來多麼花裡胡俏的東西,在計算機看來都是一堆零或者一。

就圖片來說,它有多種格式,別微軟自帶的畫筆工具產生的bmp,在互聯網上最常用的JPG或者GIF,還有PS創建的具有圖層蒙版等信息的PSD等等。這些不管是哪種格式,只是電腦之間單純的複製,不論複製多少次,他們都是不會改變的,因而和源文件擁有一樣的體積,一樣的分辨率一樣清晰度。



其中我們常常在互聯網上見到的JPG格式圖片,是一種壓縮格式,也就是說他可以把一個很大的圖片文件壓縮成很小的圖片,他不光壓縮冗餘的信息,還壓縮對人眼並不敏感的顏色,來得到相應的小體積,這就是為什麼互聯網經常使用的是gpg格式而不是其他的格式比如bmp。所以當JPG經過不同的服務器時,它默認會被壓縮。


比如我們拍攝的圖片很大,上傳到可以上傳圖片的服務器後,默認是會壓縮我們的圖片的,這就是為什麼明明很清晰的圖片,在上傳以後觀看變得不是那麼的清晰銳利。經過多次上傳下載以後,我們的圖片可能會變得更不清晰,甚至顏色變得不那麼準確,當然有好的壓縮算法情況會好很多。


風來了156


理論上應該不會有影響,但現實是一定變化了。所謂複製黏貼,本質並不是簡單地將0和1的順序在另一個存儲空間裡重複一次,而是將源文件的數據信息在另一個存儲空間裡重複一次,這個過程源文件的0和1是沒有被複制的,而且複製後,為了讓這個文件有別於源文件以便查找調用,系統會給在個文件的數據信息賦予新的內容,例如將文件存儲位置從原先的“D:”變化為“E:”,這個時候,源文件記錄展示給用戶的內容沒有邏輯上的“變化”,但是整體文件數據信息已經發生了本源上的改變,用專門的程序一解讀就可以直觀對比出兩個文件的不同。所以,最直觀的變化,就是複製足夠多次以後,文件的字節數變化明顯了,變大一點了。至於照片本身,如果單純在文件管理系統裡進行復制黏貼,那麼在有限精力和系統環境變化不大的假設前提下,圖片本身質量與內容是不會變化的。但如果考慮硬件的故障率、軟件系統的數據偏差、文件管理程序的容錯範圍、複製過程中電壓磁場輻射等不可預知因素的變化這些外部變量,那麼根據一切事物都必定會發生變化導致測不準情況必然發生的定律,圖片在無限複製無限操作前提下,是絕對會因為各種微小的偏差導致最終整體的異常的,也就是這個圖片無論如何都會劣變為無法與源文件保持對比一致結果的變異文件。


Comfunny


照片的複製粘貼分兩種,一種是把硬盤中的照片數據copy到內存中,然後把內存中的數據在硬盤創建新文件放進去,這種操作得到的兩個照片完全一樣的,你copy多少次都不會變,錯一個bit位都不可能,因為算法是有校驗和操作的。

還有一種複製,是把網絡上的照片複製本地。然後你再上傳,在複製到本地。。。往復操作。這種操作就要看網站或者app本身有沒有存在對圖片的壓縮了。大多數的網站和App都會有壓縮行為,比如百度貼吧你每次上傳到圖片都是壓縮過的,用微信發的照片不特意點選原圖,也是壓縮過的。所謂的壓縮,其實就是把每個像素的YUV值用較少的位數進行存儲,一般是右移8位,也就是原先的16bit顏色值現在用8bit存儲。在代碼中涉及一個操作,就是把原YUV值進行一個矩陣運算後右移8位。重複複製上傳的話,就會使YUV值越來越小,在YUV象限中就是傾向於往第三象限傾斜,表現為圖像顏色越來越綠。於是就有了這麼一副表情包:


紙上的宣仔


唉,幹it的,除非是小白鼠

怎麼會有這麼“弱智”的問題

如果電腦複製粘貼能導致“丟失”數據,那電腦也就是廢鐵了(特殊情況下的內存硬盤電壓驟變等不考慮)。

最簡單的方式,用比較軟件比較前後兩個圖,二進制的方式,自己寫程序讀也可以

看看是不是完全一致就知道了。

怎麼可能會不一致?怎麼會有這麼低級的想法呢[捂臉]


沙漠海179470315


這個問題如果理解為簡單的照片文件複製,那麼無論你複製了多少次,最終得到的圖片還是跟原圖一模一樣的。為什麼呢?

複製操作,究竟複製的是什麼?

所有的文件(存儲到電腦上圖片、聲音、文檔、電影,其實這些都可以看作是文件)在存儲的時候,其實都是以二進制的方式存儲的。

我們之所以能區分圖片是圖片,文檔是文檔,主要是由於每種文件的編碼不一樣。比如大家常看見的png後綴和jpg後綴,其實就是兩種不同的圖片編碼標準。還有wps後綴和doc後綴,又是兩種不同的文檔編碼標準。

理解了上面這個,我們應該就能理解了,我們在執行復制操作的時候,實際上是在執行復制二進制數據。

複製後的文件,一定跟原文件完全一樣嗎?

你也許會說,我知道了是在複製二進制,但是程序不會出錯嗎?

程序是由人設計的,當然可能存在出錯的可能。但是在執行”複製“操作這個功能上,幾乎不存在出錯的可能。為什麼?

系統如何判定複製後的文件跟原文件是不是一樣?其實也是應用了一些數學上的原理,最後用編程算法的方式去實現的。

  • 數學原理的角度

首先數學原理是經過歷代數學家反覆扮演出來的,也就是目前來看能經得起歷代數學家推敲的數學原理,就是不存在錯誤的。

我們前面說過,文件就是二進制數據,所以我們可以用數學的方法去計算它,最終得到一個值,兩者一比對就可以得出結果。

至於用了什麼原理,怎麼實現的,感興趣的朋友可以搜索深入學習。

  • 社會實踐的角度

文件複製功能是自計算機產生,就一直存在的功能。

計算機從無到有,經歷了從零到現在全世界都是,如果它是一個有缺陷的複製功能,那它還不會被發現嗎?我其實就想說明,一個東西被反覆證明了它是沒問題,那麼它就是沒問題。何況計算機的數量是如此龐大,還有面對的人群是多種多樣的。

總結一下,通過文件複製的方式,無論進行了多少次複製,最終得到的東西還是跟原來一樣。


小白踐行


我們知道電腦裡的各種信息或者叫數據,都是用二進制的字符串表示的,如1001001100111101和1011001100111101

這兩行數字只差一個字符,所表示的信息就不一樣。再說一下顯示器是怎麼顯示圖像的:顯示器雖然能顯示各種顏色各種圖像,其實顯示器只有三種顏色:紅、綠、藍。其它各種顏色都是這三種顏色的不同組合。以液晶顯示屏為例,它是由無數個類似

液體“LED”管組成的,一張照片什麼樣是由背後的字符串確定好的,通過顯示卡驅動顯示屏的電子電路,激發顯示器(屏)的“LED”發光,圖片就是由三種顏色的“LED”按不同的組合顯示的,只要背後表示圖像的字符串不發生變化,圖像就不會變,所以不管你對一張圖片複製多少次,你如果不能改變背後的字符串(圖像格式、尺寸、分辨率),你的鼠標不能改變下邊這張圖,那麼圖片就永遠不會變!。


鄭宇宇


這個問題也很傻逼,有個叫哈希值的,就是專門驗證文件是否改變的,理論上你複製一個東西,哈希值肯定是相同的,這個問題都解決不了,計算機也不會發展到現在的程度


分享到:


相關文章: