前段时间我的外部硬盘崩溃了(完全停止工作),我不得不从另一个硬盘中恢复文件,这些文件已被删除。一段时间后,我意识到一些已恢复的图片已损坏。
我无法通过任何图像程序打开这些图像。当我在 .jpgs 上运行“文件”命令时,我得到:
DSCN9129.JPG: JPEG image data, EXIF standard 2.2
DSCN9130.JPG: JPEG image data, EXIF standard 2.2
DSCN9131.JPG: JPEG image data, EXIF standard 2.2
DSCN9132.JPG: DOS executable (COM)
DSCN9133.JPG: data
DSCN9134.JPG: data
DSCN9135.JPG: JPEG image data, EXIF standard 2.2
DSCN9136.JPG: data
DSCN9137.JPG: data
DSCN9138.JPG: data
DSCN9139.JPG: data
DSCN9140.JPG: 8086 relocatable (Microsoft)
DSCN9141.JPG: data
DSCN9142.JPG: data
Run Code Online (Sandbox Code Playgroud)
在那里,我们可以注意到有些图像还可以,有些无法识别,有些则被错误地解释为其他类型的文件。
我正在上传 2 个示例图像:
http://ul.to/u7emvxp8 ---> DSCN9133.JPG(已损坏)
http://ul.to/zegf7q8a ---> DSCN9131.JPG(未损坏)
我使用这个 python 代码来查看文件中的内容:
import sys, os
with open("./images/DSCN9133.JPG", "rb") as f:
stri=""
i=0
byte …Run Code Online (Sandbox Code Playgroud) 当尝试使用Pillow在 tkinter 中显示图像时,我遇到了一个奇怪的问题。
我最初尝试以默认的 tkinter 方式显示图像,这对于 gif 效果很好:
import tkinter as tk
root = tk.Tk()
src = tk.PhotoImage(file = "C:\\Users\\Matt\\Desktop\\K8pnR.gif")
label = tk.Label(root, image = src)
label.pack()
Run Code Online (Sandbox Code Playgroud)
(K8pnR只是我在 imgur 上找到的随机 gif)
这很好用,但唯一的问题是我想显示其他文件类型。这让我想到了 Pillow,因为我正在使用 Python 3.4。我尝试从显示相同的文件开始,但使用 Pillow:
import tkinter as tk
from PIL import Image
root = tk.Tk()
src = Image.open("C:\\Users\\Matt\\Desktop\\K8pnR.gif")
img = tk.PhotoImage(file = src)
label = tk.Label(image = img, master = root)
label.pack()
Run Code Online (Sandbox Code Playgroud)
这会导致一个非常奇怪和丑陋的no such file or directory错误:
Traceback (most recent call last): …Run Code Online (Sandbox Code Playgroud) 我想知道哪种图像格式允许我无损编码 0xFFFFFF 颜色,但我需要一种占用磁盘空间更少的格式。我知道 BMP、JPEG(变体)、TIFF、PNG(只是说一些)是无损的,但是考虑到压缩或其他什么,哪一种可以占用更少的空间?
当我的<img>小于原始图像时,文件会自动调整大小吗?或者用户是否必须加载整个图像?
例如,我有巨型壁纸文件,但我只显示100px×100px的缩略图.我只是将<img>宽度和高度设置为100px,这样做效率低吗?
使用rvest软件包时,我试图在R中打印/显示lego_movie海报。我没有这样做。这是我的尝试:
library(rvest)
poster <- lego_movie %>%
html_nodes("#img_primary img") %>%
html_attr("src")
## 1st attempt
library(jpeg)
jpeg(poster)
dev.off()
## 2nd attempt
readJPEG(poster)
dev.off()
Run Code Online (Sandbox Code Playgroud)
我认为EBImage具有display功能。无法将该软件包安装在中R-3.1.2。它显示警告消息:package ‘EBImage’ is not available (for R version 3.1.2)。
我的问题的底线是:如何在不使用EBImage软件包的情况下将R中的jpeg文件显示为显示器?
几个相关的问题:
我想将JPEG文件转换为其二进制等效项,然后将其转换回JPEG格式.即将JPEG文件转换为1和0并将其输出到文本文件中,然后获取此文本文件并将其转换回原始图像(只是为了检查转换中是否没有错误)
我试过用python中的binascii模块做这个,但似乎有一个我无法理解的编码问题.
如果有人可以帮我解决这个问题真的很棒!
PS:Java中的解决方案将更受欢迎
我想使用已编译的libjpeg-9 example.c和transupp.c代码和库来旋转Eclipse项目中的.jpg图像.
从一开始就实现这一目标的工作进展:在Windows for Eclipse中编译/使用libjpeg
尝试将do_rot_180和读/写函数集成到一个位置:需要帮助从libjpeg编译jpegtran.c代码