我正在尝试使用奇异值分解来压缩给定的图像.我以为我有它,直到我注意到我在整个过程中不断出现垃圾色像素.

右上角显示的数字表示迭代次数,其中0是原始图像.
这是一个常见错误吗?有什么我想念的吗?
我认为它可能与我的数学本身有关.我正在使用JAMA,一个java矩阵包,它为我处理这个.下面是我每次迭代的实现:
for (int i = 0; i < k; i++) {
Matrix step = (uColumns[i].times(sValues[i])).times(vColumns[i].transpose());
encoded = encoded.plus(step);
}
Run Code Online (Sandbox Code Playgroud)
基本上我正在做(或尝试做)是:
M = M + (s1*u1*v1^t)
Run Code Online (Sandbox Code Playgroud)
我的实现是否有明显错误,或者错误可能是由于JAMA执行SVD的方式?根据我的测试,矩阵U和V中的值的符号在某些行中与Wolframalpha或Matlab生成的符号不同.
任何帮助表示赞赏.
谢谢,
瑞斯蒂昂
我正在寻找一个可以降低所有图像类型质量的库(PNG,GIF和JPEG).
我知道我可以减少JPEG使用imagejpeg()
我也知道我可以减少使用PNG imagepng()虽然这不够强大.
我需要能够在不删除alpha的情况下将PNG 24转换为PNG8的东西.
无法使用ImageMagick,因为我无法在我的服务器上安装任何东西.
编辑:
我还需要一些可以从32位转换为8位的东西(我很确定它与32位相同)
在这里找到了灵魂
谢谢
有一个电子商务网站,我们有成千上万的产品图片。在谷歌上检查页面速度时,它向我显示了这样的内容:

我想知道,Java 中是否有任何内置功能或任何第三方库可用,我们可以使用它们无损地压缩我们托管的所有图像。因此,我们可以为客户节省几 KB。
在网上搜索我发现很少有像punnypng和kraken这样的付费的,因此我们每个月都没有上传重磅图片,订阅它们不值得。我更喜欢 Java 或任何开源第三方库中的任何内置功能。
我遇到了JAI,但不确定它是否解决了这个问题。有人有这方面的实践经验吗?
PS 我们使用的是 Java 8
我一直在寻找一种优化图像以获得更好性能的解决方案。
在尝试了一些解决方案(例如Sharp和imagemin,这导致文件永远不会更小,有时更大)之后,我现在正在尝试尝试 Google 的 pagespeed。不幸的是,pagespeed 似乎只支持 Apache 和 Nginx,我不想将其添加到我的堆栈中只是为了图像优化(另外,我更喜欢在上传时进行优化,而不是在服务器请求时进行优化,即使缓存)。
我将非常感谢任何可能帮助我在本机 Node.js 中实现这一点的信息,以及任何其他(有效!)图像优化建议。
javascript image-compression image-optimization pagespeed node.js
我正在使用 Retrofit retrofit:2.1.0' 将文件图像上传到服务器
如果我使用前置摄像头拍摄图像成功上传但如果拍摄后置摄像头它没有上传我认为因为大文件大小的图像没有上传是否有任何选项可以在发送到服务器进行改造之前压缩文件大小?
文件发送编码
map.put("complaint_category", RequestBody.create(parse("text"), caty_id_str.getBytes()));
// Map is used to multipart the file using okhttp3.RequestBody
File file = new File(Config.uriImage);
// Parsing any Media type file
RequestBody requestBody = RequestBody.create(parse("*/*"), file);
MultipartBody.Part fileToUpload = MultipartBody.Part.createFormData("photo", file.getName(), requestBody);
RequestBody filename = RequestBody.create(parse("text/plain"), file.getName());
Call<PostComplaint> call3 = apiInterface.postComplaint(fileToUpload, filename, map);
call3.enqueue(new Callback<PostComplaint>() {
@Override
public void onResponse(Call<PostComplaint> call, Response<PostComplaint> response) {
progressDoalog.dismiss();
PostComplaint respon = response.body();
PostComplaint.Response respo = respon.getResponse();
String result = respo.getResult();
String data = respo.getData(); …Run Code Online (Sandbox Code Playgroud) 我想压缩大型 GIF 图像文件,然后再将它们发送到我的聊天应用程序的服务器(类似 WhatsApp 的功能)。
提前致谢。
save(event: any, type, image_type) {
this.uploadImageFlag = true;
const fileList: FileList = event.target.files;
if (fileList.length > 0) {
const file: File = fileList[0]
this.files.set('files', file, file.name)
const reader = new FileReader();
reader.onload = (event: any) => {
this.url2 = event.target.result;
this.upload = true;
}
reader.readAsDataURL(event.target.files[0]);
}
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<input id="input" type="file" accept="image/*" style=" width: 180px;" #files (change)="save($event)" />Run Code Online (Sandbox Code Playgroud)
我正在使用以下功能上传图像并将其发送到后端。问题是图像大小非常大,需要时间才能到达后端。我看过很多关于如何压缩图像的例子,但我真的不想改变我现有的代码和修改模块,所以有人可以告诉我如何改变这个函数并压缩图像。
我想将图像中的颜色数量(即 24 位 PNG 文件)减少为较小的 8 位索引彩色图像。
我想通过从图库中选择来在 iOS 设备上创建 WhatsApp 贴纸,因为它允许 512 X 512 像素大小和小于 100k 的文件大小
我已经绑定了这个代码
func resizeImageWith(image: UIImage, newSize: CGSize) -> UIImage {
let horizontalRatio = newSize.width / image.size.width
let verticalRatio = newSize.height / image.size.height
let ratio = max(horizontalRatio, verticalRatio)
let newSize = CGSize(width: image.size.width * ratio, height: image.size.height * ratio)
var newImage: UIImage
let renderFormat = UIGraphicsImageRendererFormat.default()
renderFormat.opaque = false
if #available(iOS 12.0, *) {
renderFormat.preferredRange = .standard
} else {
// Fallback on earlier …Run Code Online (Sandbox Code Playgroud) 我在测试临时图像和压缩 models.py 中的图像时遇到了一个奇怪的问题。权限好像有问题:
ERROR: test_has_light_images (realestate.tests.test_view_listing.RealestateListingViewTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\Storm\Envs\btre\lib\site-packages\django\test\utils.py", line 373, in inner
return func(*args, **kwargs)
File "C:\Users\Storm\Dev\btre_project\realestate\tests\test_view_listing.py", line 72, in test_has_light_images
create_listing(title='listing_sample', address='sample', realtor_num=1, city='sample', state='sample', zipcode='1234', price='555555', bedrooms='1', bathrooms='1', garage='1', sqft='123', lot_size='123', image_sample=image_sample.name)
File "C:\Users\Storm\Dev\btre_project\realestate\tests\test_view_listing.py", line 37, in create_listing
return Listing.objects.create(title=title, address=address, realtor=realtor, city=city, state=state, zipcode=zipcode, price=price, bedrooms=bedrooms, bathrooms=bathrooms, garage=garage, sqft=sqft, lot_size=lot_size, photo_main=image_sample, photo_1=image_sample, photo_2=image_sample, photo_3=image_sample, photo_4=image_sample, photo_5=image_sample, photo_6=image_sample)
File "C:\Users\Storm\Envs\btre\lib\site-packages\django\db\models\manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Users\Storm\Envs\btre\lib\site-packages\django\db\models\query.py", line 422, …Run Code Online (Sandbox Code Playgroud) django automated-tests temporary-files image-compression python-3.x
我想找到尽可能最小但有效(可查看)的 base64 编码 AVIF 字符串,用于使用 javaScript 测试浏览器图像支持。
我正在使用这套:
const imgs = {
jxl: "/wr6HwGRCAYBAFAASzhB5k11/Ia1kyog0AHeH0nCAVw=",
avif: "AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",
webp: "UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",
jpg: "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wgALCAABAAEBAREA/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQABPxA=",
png: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=",
gif: "R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
};
Run Code Online (Sandbox Code Playgroud)
我发现了这个,它是一个有效的 URI,但不是一个可见的图像:
AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUEAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAA
Run Code Online (Sandbox Code Playgroud)
这是我能找到的最短的有效(可查看)(311B):
AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=
Run Code Online (Sandbox Code Playgroud)
有谁知道有更短的吗?TXS!!!
android ×2
java ×2
javascript ×2
angular ×1
avif ×1
base64 ×1
compression ×1
core-image ×1
django ×1
gif ×1
image ×1
image-upload ×1
ios ×1
jama ×1
jxl ×1
node.js ×1
pagespeed ×1
php ×1
python-3.x ×1
retrofit2 ×1
swift ×1
whatsapp ×1