标签: image-compression

Android:压缩图像会在左侧和顶部边缘创建黑色边框

我正在使用以下站点中的压缩类:http://voidcanvas.com/whatsapp-like-image-compression-in-android/

这是我的压缩类,对原始类进行了很少的修改:

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.media.ExifInterface;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import timber.log.Timber;

//http://voidcanvas.com/whatsapp-like-image-compression-in-android/
public class ImageCompressor {

    public ImageCompressor() {}

    public static String compressImage(String imagePath, Context context) {
        Bitmap scaledBitmap = null;
        String filename = "compressed_" +imagePath.substring(imagePath.lastIndexOf("/")+1);

        BitmapFactory.Options options = new BitmapFactory.Options();

//      by setting this field as true, the actual bitmap pixels are not loaded in the memory. Just the bounds are loaded. If
//      you …
Run Code Online (Sandbox Code Playgroud)

android image image-compression

2
推荐指数
1
解决办法
901
查看次数

在将图像上载到Firebase存储之前压缩图像

我正在尝试压缩图像,然后上传到Firebase Storage使用SiliCompressor库,但它似乎无法正常工作,ProgressDialog不会停止.我首先要做的是通过单击ImageButton从图库中选择图像到ImageButton.以下是我的代码.

imageSelect.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);
                galleryIntent.setType("image/");
                startActivityForResult(galleryIntent, GALLERY_REQUEST);
            }
        });

---------------------------------------------------------------------

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == GALLERY_REQUEST && resultCode == RESULT_OK) {


            imageUri = data.getData();

           // imageSelect.setImageBitmap(BitmapFactory.decodeFile(imageSelectFile.getAbsolutePath()));
        //    Compressor com = Compressor.getDefault(this).compressToFile(imageFile);
           // imageSelect.setImageURI(imageUri);
            Picasso.with(c).load(imageUri).fit().into(imageSelect);

        }
    }
Run Code Online (Sandbox Code Playgroud)

所以我现在有一个startPosting()上传数据的方法点击按钮到Firebase存储.以下是我的代码.

 private void startPosting() {
        mProgress.setMessage("Uploading Image...");
        //Compressing an Image ....
        String stringUri= …
Run Code Online (Sandbox Code Playgroud)

java android image-compression firebase firebase-storage

2
推荐指数
1
解决办法
8570
查看次数

Opera Turbo和background-repeat不起作用

例如,我有这样的代码:

<style>
body {
    background: url('back.png') repeat-y center;
}
</style>
<body>
</body>
Run Code Online (Sandbox Code Playgroud)

它适用于所有浏览器,包括Opera.看起来像这样: 在此输入图像描述

但是如果打开Opera Turbo模式,它看起来像这样: 在此输入图像描述

为什么这样,可以修复吗?Ubuntu 10.10上的PS Opera 11.10

browser opera image-conversion image-compression opera-turbo

1
推荐指数
1
解决办法
1030
查看次数

Qt:以预期的压缩格式保存图像

我正在使用UIQt项目并保存图像文件QML。以下是我所做的

auto screenshot = quick_item->grabToImage();
screenshot->saveToFile("/somepath/filename.jpeg");
// OR sometimes use like png like
screenshot->saveToFile("/somepath/filename.png");
Run Code Online (Sandbox Code Playgroud)

这在所有平台上都表现得非常好。我打开文件,图像按预期保存。

现在我的问题是:
我刚刚提到.jpeg作为文件扩展名,同时将文件名作为参数提供到saveToFile. 这可行,但是,我是否需要使用它QImageWriter来确保图像实际上以jpeg/png格式压缩?

当它是有损压缩时会发生什么jpeg
如果我想在android中控制有损压缩,我可以做一个,image.compress(CompressFormat.JPEG, 80, stream)其中80是压缩质量的百分比

qt png jpeg image-compression qml

1
推荐指数
1
解决办法
2157
查看次数

PIL 图像压缩

我正在编写一个脚本,用于调整和优化要在网站上使用的图像(在本例中为 Iphone 图片)。到目前为止,我编写了这个简单的脚本,它使文件大小减少了大约 35%,但我希望我可以进一步缩小文件大小。有没有办法进一步优化这个脚本?任何帮助深表感谢!

from PIL import Image

img = Image.open('file location')
newImage = img.resize((1024, 768), Image.ANTIALIAS)         

newImage.save('new file location', optimize=True, quality=95)

newImage.show()                                               
Run Code Online (Sandbox Code Playgroud)

python optimization image image-compression python-imaging-library

1
推荐指数
1
解决办法
7439
查看次数

OpenCV:压缩后图像大小增加

我正在尝试使用quality=90OpenCV 的参数比较压缩前后的一堆图像的大小。但是在压缩之前,我想将它们全部裁剪为固定大小。但是,我不明白,为什么裁剪后的图像平均尺寸小于裁剪+压缩后的图像尺寸?

这是我在做什么:

import cv2
import PIL
from pathlib import Path

image_paths = [...]

cropped_imgs_size = 0
compressed_imgs_size = 0

# crop images
for orig_img_path in image_paths:
    cropped_img_path = "cropped_" + orig_img_path
    PIL.Image.open(orig_img_path).crop((0,0,256,256)).convert('RGB').save(cropped_img_path)
    cropped_imgs_size += Path(cropped_img_path).stat().st_size

    # compress cropped image
    dest_path = "q90_" + cropped_img_path
    cv2.imwrite(dest_path, cv2.imread(cropped_img_path), [int(cv2.IMWRITE_JPEG_QUALITY), 90])
    compressed_imgs_size += Path(dest_path).stat().st_size
Run Code Online (Sandbox Code Playgroud)
  • 预期: compressed_imgs_size < copped_imgs_size
  • 实际: compressed_imgs_size > copped_imgs_size

我想念什么?

python opencv image-compression python-imaging-library

1
推荐指数
1
解决办法
102
查看次数

如何在 kotlin 中压缩从图库中挑选的照片

我发现了很多关于该主题的问题,但没有一个有完整的工作示例。

我的情况很简单:

  1. 得到挑选的图像
  2. 压缩图像
  3. 将压缩图像上传到 Firebase 存储

我当前的代码(未压缩):

分段:

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

        when (requestCode) {
            RC_PICK_IMAGE ->
                if (resultCode == Activity.RESULT_OK)
                    data?.data?.let { viewModel.updateUserPicture(it) }
        }
    }
Run Code Online (Sandbox Code Playgroud)

视图模型:

    fun updatePhotoUrl(photoUrl: Uri?): Task<Void> =
        Storage.uploadFile("/$PS_USERS/$uid", photoUrl)
                    .continueWithTask { ... }
Run Code Online (Sandbox Code Playgroud)

存储:(包装 Firebase 交互的对象)

    fun uploadFile(path: String, uri: Uri): Task<Uri> {
        val imageRef = storageRef.child(path)
        val uploadTask = imageRef.putFile(uri)

        // Return the task getting the download URL
        return uploadTask.continueWithTask { task ->
            if …
Run Code Online (Sandbox Code Playgroud)

android image-gallery image-compression kotlin imagepicker

1
推荐指数
1
解决办法
3941
查看次数

Jpeg2000 图像压缩使用哪个小波?

Jpeg2000 图像压缩使用哪个小波?

\n\n

我正在阅读《小波变换》一书,以了解小波如何用于图像压缩,但是书中提到了很多类型的小波,我很困惑哪一种用于 Jpeg2000 压缩?

\n\n

这些是我在书中找到的类型。

\n\n

双正交小波、Shannon 或 \xe2\x80\x9cSinc\xe2\x80\x9d 小波、Haar 小波(最短)、Coiflets 小波。

\n\n

PS:我对图像压缩一无所知,只是从这个项目开始。

\n

image-processing jpeg2000 image-compression wavelet

0
推荐指数
1
解决办法
1646
查看次数

考虑到图像压缩,游程编码总是优于霍夫曼编码吗?

我们发现考虑到压缩比,游程长度比哈夫曼编码(JAVA)要好得多。所有情况都是如此吗?

algorithm image-processing image-compression

0
推荐指数
1
解决办法
3567
查看次数

Java 图像压缩

从我们的应用程序中,我们从第三方服务获取图像 (jpeg/png),下载后我们希望将这些图像保存为压缩文件。

任何人都可以指导如何在 Java 中压缩图像吗?

java image-compression

0
推荐指数
1
解决办法
1万
查看次数

压缩没有重型脚本且仅ImageMagik的大量文本PDF会导致文本模糊

我正在尝试使用代码压缩学校报纸的PDF版本,并创建了以下脚本,该脚本在下面可以完美运行。

gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -sOutputFile=$file $old;
Run Code Online (Sandbox Code Playgroud)

我去服务器上运行它,发现服务器上的ghostscript版本太旧,导致代码无法正常工作,而且我没有更新gs的权限(我在共享主机服务上。)服务器上也有ImageMagik,并且想知道是否有人可以帮助我用它压缩文本繁重的PDF。我尝试了一些类似于

convert -compress JPEG -quality 100 input.pdf output.pdf
Run Code Online (Sandbox Code Playgroud)

但是它使PDF文本非常模糊(不利于阅读报纸。)

如果有人可以帮助我,将不胜感激。谢谢!

pdf imagemagick ghostscript image-compression

0
推荐指数
1
解决办法
4265
查看次数

OpenGL 的无损纹理压缩

我有几个 32 位(带 alpha 通道)位图图像,我将它们用作游戏中的基本信息。RGBA 值的微小变化会破坏一切,所以我不能使用像 S3TC 这样的有损压缩方法。

是否有任何可行的无损压缩算法可以与 OpenGL 一起使用?我正在使用片段着色器,我想使用glCompressedTexImage2D()方法来定义纹理。我还没有尝试过使用GL_COMPRESSED_RGBA参数用 OpenGL 压缩纹理,我有没有机会通过这种方式获得无损压缩?

compression opengl textures lossless-compression image-compression

0
推荐指数
1
解决办法
1206
查看次数

上传时无法减少php中的图像文件大小

我下面的代码可以上传多个图像并在上传时重命名它们工作正常.然后我尝试实现image compress但这不起作用,有人可以帮我解决这个问题.

没有压缩方法

if (!empty($_POST)) {
    $newname = md5(rand() * time());
    if (isset($_FILES['files'])) {
        $uploadedFiles = array();
        foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name) {
            $errors = array();
            $file_name = md5(uniqid("") . time());
            $file_size = $_FILES['files']['size'][$key];
            $file_tmp = $_FILES['files']['tmp_name'][$key];
            $file_type = $_FILES['files']['type'][$key];
            if ($file_type == "image/gif") {
                $sExt = ".gif";
            } elseif ($file_type == "image/jpeg" || $file_type == "image/pjpeg") {
                $sExt = ".jpg";
            } elseif ($file_type == "image/png" || $file_type == "image/x-png") {
                $sExt = ".png";
            }
            if (!in_array($sExt, …
Run Code Online (Sandbox Code Playgroud)

php image-compression

-2
推荐指数
1
解决办法
192
查看次数