精华内容
下载资源
问答
  • opencv-图片转灰度

    2019-09-20 16:12:34
    opencv官网下载android sdk,导入并添加到项目中。 初始化opencv private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { ....

    opencv官网下载android sdk,导入并添加到项目中。

    初始化opencv

    private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
            @Override
            public void onManagerConnected(int status) {
                switch (status) {
                    case SUCCESS:
    
                        break;
                    default:
                        super.onManagerConnected(status);
                        break;
                }
            }
        };
     @Override
        protected void onResume() {
            super.onResume();
            if (!OpenCVLoader.initDebug()) {
                OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
            } else {
                mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
            }
        }
    

    灰度化

        private Bitmap BGR2Gray(Bitmap bitmap) {
            Mat src = new Mat();
            Utils.bitmapToMat(bitmap,src);
            Mat dst = new Mat();
            Imgproc.cvtColor(src,dst,Imgproc.COLOR_BGR2GRAY);
            Utils.matToBitmap(dst,bitmap);
            return bitmap;
        }
    
    展开全文
  • OPencv实现图片灰度图转换

    千次阅读 2016-10-10 15:52:44
    #include "stdafx.h" #include #include #include #include #pragma comment(lib,"opencv_imgproc2413d.lib") #pragma comment(lib,"opencv_core2413d.lib") #pragma comment(lib,"opencv_hi
    #include "stdafx.h"
    


    #include <stdio.h>
    #include <stdlib.h>
    #include <opencv/cv.h>
    #include <opencv/highgui.h>


    #pragma comment(lib,"opencv_imgproc2413d.lib")  
    #pragma comment(lib,"opencv_core2413d.lib")  
    #pragma comment(lib,"opencv_highgui2413d.lib")  


    int toGray(IplImage* img)
    {
      IplImage* dst = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//用原图像指针创建新图像
      if (NULL == dst)
      return -1;
      cvCvtColor(img, dst, CV_BGR2GRAY);//转换颜色空间 我试过,如果没有这一步 得到的图像将是全黑


      cvNamedWindow("Gray", CV_WINDOW_AUTOSIZE);
      cvShowImage("Gray", dst);
      cvSaveImage("Gray.jpg", dst, 0);//保存


      cvWaitKey(0);
      cvReleaseImage(&dst);
      cvDestroyWindow("Gray");


      return 1;
    }


    int main(int argc, char** argv)
    {

        IplImage* img = cvLoadImage("C:/11.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);    

        //如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。

        if (NULL == img)
        {
           printf("Image load fail!\n");
           return 2;
        }


       cvNamedWindow("RGB", CV_WINDOW_AUTOSIZE);
       cvShowImage("RGB", img);


      toGray(img);


      cvReleaseImage(&img);
      cvDestroyWindow("RGB");


    }



    展开全文
  • Android OpenCV 图片读入 灰度化处理

    千次阅读 2019-02-12 22:07:29
    AndroidStudio 导入 OpenCv 【翻了一些博客以后写出来的】 ·文件复制 : OpenCV-Android-sdk\sdk中的Java文件 复制到 工程根目录下 ·导入模块界面 : File-&gt;new-&gt;import module 选择导入后的java...

    AndroidStudio 导入 OpenCv 【翻了一些博客以后写出来的】

    ·文件复制 : OpenCV-Android-sdk\sdk中的Java文件 复制到 工程根目录下
    ·导入模块界面 :  File->new->import module 选择导入后的java文件夹
    ·加入依赖 : File->project structure -> 
                app -> Dependencies -> + -> Module dependency
    ·build.gradle文件修改 : compileSdkVersion、minSdkVersion、targetSdkVersion
                            与app模块的build.gradle设置为一样的
    ·代码 : 变量mLoaderCallback 【MainActivity.java】
        private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
            @Override
            public void onManagerConnected(int status) {
                switch (status) {
                    case LoaderCallbackInterface.SUCCESS: {
                        Log.i(TAG, "OpenCV loaded successfully");
                    }
                    break;
                    default: {
                        super.onManagerConnected(status);
                    }
                    break;
                }
            }
        };

    ·代码 : MainActivity.java内部加入的重载函数onResume
        @Override
        public void onResume() {
            super.onResume();
            if (!OpenCVLoader.initDebug()) {
                Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization");
                OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
            } else {
                Log.d(TAG, "OpenCV library found inside package. Using it!");
                mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
            }
        }

    xml代码:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.opencv_practise.MainActivity">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Button
                android:layout_weight="1"
                android:id = "@+id/btn_process"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="GRAY"/>
            <Button
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/btn_rgb"
                android:text = "RGB"/>
        </LinearLayout>
    
        <ImageView
            android:id="@+id/im_j20"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/im_j20" />
    </LinearLayout>
    

    Java代码:

    package com.example.opencv_practise;
    
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    
    import org.opencv.android.BaseLoaderCallback;
    import org.opencv.android.LoaderCallbackInterface;
    import org.opencv.android.OpenCVLoader;
    import org.opencv.android.Utils;
    import org.opencv.core.Mat;
    import org.opencv.imgproc.Imgproc;
    
    public class MainActivity extends AppCompatActivity {
    
        ImageView iv;
    
        String TAG = new String("test");
    
        private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
            @Override
            public void onManagerConnected(int status) {
                switch (status) {
                    case LoaderCallbackInterface.SUCCESS: {
                        Log.i(TAG, "OpenCV loaded successfully");
                    }
                    break;
                    default: {
                        super.onManagerConnected(status);
                    }
                    break;
                }
            }
        };
    
        @Override
        protected void onResume() {
            super.onResume();
            if (!OpenCVLoader.initDebug()) {
                Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization");
                OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
            } else {
                Log.d(TAG, "OpenCV library found inside package. Using it!");
                mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
            }
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //loadOpenCV();
    
            iv = (ImageView) findViewById(R.id.im_j20);
            Button btn_process = (Button)findViewById(R.id.btn_process);
            btn_process.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Togray();
                }
            });
    
            Button btn_rgb = (Button)findViewById(R.id.btn_rgb);
            btn_rgb.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    Torgb();
                }
            });
        }
    
        private void Togray(){
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.im_j20);
    
            Mat src = new Mat();
            Mat dst = new Mat();
    
            Utils.bitmapToMat(bitmap,src);
            Imgproc.cvtColor(src,dst,Imgproc.COLOR_BGR2GRAY);
            Utils.matToBitmap(dst,bitmap);
    
            iv.setImageBitmap(bitmap);
            src.release();
            dst.release();
        }
    
        private void Torgb(){
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.im_j20);
            iv.setImageBitmap(bitmap);
        }
    }
    

    界面效果:【GRAY 显示灰度图】【RGB 显示原图】

    展开全文
  • Android Studio 依赖OpenCV3.4.1作为依赖包 进行图片灰度处理 下载就可用
  • opencv java图片灰度化处理

    千次阅读 2018-08-25 20:51:50
    注:参数IMREAD_GRAYSCALE表示图片灰度 1.加载时指定灰度参数 Mat mat = Imgcodecs.imread(&amp;quot;/data/data/WindowsLogo.jpg&amp;quot;, Imgcodecs.IMREAD_GRAYSCALE); 2.使用cvtColor转换成灰度...

    图像灰度化处理有2中方式:

    注:参数IMREAD_GRAYSCALE表示图片灰度

    1.加载时指定灰度参数

    Mat mat = Imgcodecs.imread("/data/data/WindowsLogo.jpg", Imgcodecs.IMREAD_GRAYSCALE);
    

    2.使用cvtColor转换成灰度图像

        Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY);
    

    示例代码:

    package test.opencv;
    
    import org.opencv.core.Core;
    import org.opencv.core.Mat;
    import org.opencv.imgcodecs.Imgcodecs;
    import org.opencv.imgproc.Imgproc;
    
    /**
     * 图片灰度化处理
     * @author hecj
     */
    public class Grayscaler {
    
        public static void main(String[] args) {
            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
            // 第一种 加载时灰度
            Mat mat = Imgcodecs.imread("/data/data/WindowsLogo.jpg", Imgcodecs.IMREAD_GRAYSCALE);
            Imgcodecs.imwrite("/Users/hecj/Desktop/WindowsLogo.jpg", mat);
    
            // 第二种 转换灰度图像
            Mat src = Imgcodecs.imread("/data/data/WindowsLogo.jpg", Imgcodecs.IMREAD_UNCHANGED);
            Mat dst = new Mat();
            Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY);
            Imgcodecs.imwrite("/Users/hecj/Desktop/WindowsLogo2.jpg", mat);
    
        }
    
    }
    

    图像如下:

    这里写图片描述

    这里写图片描述

    展开全文
  • OpenCV图片灰度

    2021-02-26 11:19:52
  • 基于Android平台的OpenCV图片灰度处理,采用JAVA语言的OpenCV安卓应用的简单实例
  • openCV 实现图像灰度调整,初学者可以通过参考这些代码,迅速掌握数字图像处理中,openCV对图像灰度的调整。
  • opencv3.0以上版本读取图片,显示图片以及把图片改为灰度显示
  • python opencv图片转为灰度

    万次阅读 多人点赞 2018-12-05 23:00:23
    使用opencv图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图。 将彩色图转为灰度图 import cv2 import numpy as np if __name__ == "__main...
  • OpenCV把彩色图片转换为灰度图片

    万次阅读 2019-08-26 10:41:36
    在实现彩色图片转换为灰度图片之前,先来了解一下图像数字化。当你张开眼睛,就看到现实的世界,比如房子,花草和不同的物品。如果要把当前的眼睛所见的东西保存起来,在以前是使用胶片相机,那是采用化学的感光方法...
  • 错误意思是你的图像已经是单通道的灰度图了,没必要再一次 错误原因 cv2.imread路径后加 “,0” 时已经将图片读取为灰度图,故转换时报错。把“0”去掉或者把转换语句cv2.cvtColor去掉就好了 ...
  • System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat srcImage = Imgcodecs.imread("F:\\2625035632820481613.jpg"); Mat dstImage = new Mat(); Imgproc.cvtColor(srcImage, dstImage, Imgproc.COLOR_BGR2GRAY,....
  • OpenCV计算图像灰度均值

    热门讨论 2014-03-16 22:07:54
    OpenCV计算IplImage类型图像灰度均值
  • opencv中读取灰度图片cv2.imread报错

    千次阅读 2018-10-18 23:23:19
    opencv中读取灰度图片cv2.imread()会把原来单通道的灰度图,自动转换成三通道的灰度图,每个通道的值都是相同的,变成了三个相同的三通道。用cv2.imread()读取单通道的图片时,最后用 img = cv2.imread(path) img_...
  • 使用opencv图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图。 将彩色图转为灰度图 import cv2 import numpy as np if __name__ == __main__: ...
  • OpenCV中cvtColor转灰度图的通道数

    千次阅读 2018-07-01 20:54:43
    OpenCV转灰度图的时候常用到cvtcolor,但是有的时候发现如此转灰度图的方法会导致生成三通道的灰度图?原因如下:Mat firstpic = imread("IMG.JPG"); cvtColor(firstpic, firstpic, CV_BGR2GRAY); 如上...
  • openCV实现图像灰度化并保存,(MFC实现)
  • 彩色rgb图片转灰度opencv

    千次阅读 2018-07-28 22:15:16
    # 彩色图片转灰度图 import cv2 as cv img = cv.imread('test.jpg', 1) img = cv.cvtColor(img, cv.COLOR_BGR2GRAY) cv.imshow('asd', img) cv.waitKey(0) cv.destroyAllWindows()
  • opencv图片进行灰度

    千次阅读 2017-07-05 15:38:51
    opencv图片进行灰度化:
  • opencv转换灰度图像并保存

    千次阅读 2020-07-04 22:58:09
    // opencv7_graying.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/highgui.hpp> #include <...
  • 利用opencv3.0和vs2015配置环境对多张图像进行灰度化处理
  • opencv之批量转换灰度图并保存

    千次阅读 2018-03-05 16:18:30
    opencv之批量转换灰度图并保存当图片名字有数字规律时,批量处理方式。①srcImage 图片名字有规律 ②将srcImage文件下的图片,转换为灰度图并保存入grayImage文件夹。 ③ 1 #include &lt;iostream&gt; 2 ...
  • OpenCV实现基本灰度变换

    千次阅读 2017-04-15 19:06:43
    OpenCV小白一枚,最近在看数字图像处理第二版,看课本的同时想加深一下理解,自己动手写一些代码实现一下课本中的效果。看到第三章了,实现一些基本灰度变换的效果。不同灰度变换只是使用的公式不同而已,核心思想都...
  • Java+opencv3.2.0之灰度

    千次阅读 2017-08-01 08:56:10
    图片灰度处理即是把彩色图片转为灰度图片,目的是为了加快图片处理速度。24位彩色图像每个像素用3个字节表示,每个字节对应着RGB分量的亮度。当RGB分量值不同时,为彩色图像;当RGB分量相同时,为灰度图像。 Opencv...
  • pytorch中使用transforms.ToTensor()处理opencv获取的灰度图像问题 众所周知,opencv读取的图片的格式为BGR即(height,width,channel),而PIL读取的图片恰恰相反,为(channel,height,width),matplotlib中也...
  • opencv中的灰度变换

    千次阅读 2018-07-13 14:13:54
    本文介绍的图像的灰度变换则不同,其对像素的计算仅仅依赖于当前像素和灰度变换函数。灰度变换也被称为图像的点运算(只针对图像的某一像素点)是所有图像处理技术中最简单的技术,其变换形式如下:s=T(r)s=T(r)其中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,272
精华内容 12,508
关键字:

opencv图片转灰度