读取图片像素的具体实例

代码如下:

public static short[][] GetPixs(Bitmap bitmap)
        {
            int height = bitmap.Height;
            int width = bitmap.Width;
            byte tempB, tempG, tempR;
            short[][] spOriginData = new short[height][];
            for (int i = 0; i < height; i++)
            {
                spOriginData[i] = new short[width];
            }

BitmapData dataOut = bitmap.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
            int offset = dataOut.Stride - dataOut.Width * 3;
            try
            {
                unsafe
                {
                    byte* pOut = (byte*)(dataOut.Scan0.ToPointer());

for (int y = 0; y < height; y++)
                    {
                        for (int x = 0; x < width; x++)
                        {
                            tempB = pOut[0];
                            tempG = pOut[1];
                            tempR = pOut[2];
                            double data=0.31 * tempR + 0.59 * tempG + 0.11 * tempB;
                            if (data > 255)
                                spOriginData[y][x] = 255;
                            else
                                if (data < 0)
                                    spOriginData[y][x] = 0;
                                else
                                    spOriginData[y][x] = (short)data;
                            pOut += 3;
                        }
                        pOut += offset;
                    }
                    bitmap.UnlockBits(dataOut);
                }
            }
            catch
            {
            }
            return spOriginData;
        }

(0)

相关推荐

  • 读取图片像素的具体实例

    复制代码 代码如下: public static short[][] GetPixs(Bitmap bitmap)        {            int height = bitmap.Height;            int width = bitmap.Width;            byte tempB, tempG, tempR;            short[][] spOriginData = new short[height][];            fo

  • JavaScript获取图片像素颜色并转换为box-shadow显示

    一.原理: 1.使用HTML5的FileReader API读取图片 FileReader文件读物器,用于读取客户端文件到,注意,文件读取完毕后并不会载入缓存 eg: var upfile = document.querySelector('#upfile'); var fileReader = new FileReader(); fileReader.onload = function(evt) { if(FileReader.DONE==fileReader.readyState) { va

  • python读取图片颜色值并生成excel像素画的方法实例

    像素画: 需要用到的包: 进度条:progressbar pip install progressbar -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com excel:操作包openpyxl pip install openpyxl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 食用指南:

  • Java从网络读取图片并保存至本地实例

    本文实例为大家分享了Java从网络读取图片并保存至本地的具体代码,供大家参考,具体内容如下 package getUrlPic; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public cl

  • python使用opencv读取图片的实例

    安装好环境后,开始了第一个Hello word 例子,如何读取图片,保存图品 import cv2 import numpy as np import matplotlib.pyplot as plt #读取图片代码 img = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE) #IMREAD_COLOR = 1 #IMREAD_UNCHANGED = -1 #展示图片 cv2.imshow('image',img) cv2.waitKey(0) cv2.d

  • django 读取图片到页面实例

    首先,我们看看models.py里的模型,有个upload_to参数,为了和过去一刀两断,楼主决定给upload_to赋值一个新的值叫avatar/,这个参数的意思是把文件上传到MEDIA_ROOT/avatar/下面. 既然这里upload_to的值是连接在MEDIA_ROOT/路径后的一部分,所以很自然的只能写成avatar/或者./avatar/,而不能写成/avatar/,楼主已经以身试法过. 还有一点,这里提到了MEDIA_ROOT,可是我们一直没设置过啊. headImg = mod

  • JavaScript 读取图片实例代码

    Untitled Page JavaScript读取图片测试例子 '); var a = 0; var b = 1; Loading(a,b); } //显示加载失败信息 function Gif_Err() { alert("载入失败!") } //显示加载成功信息 function Gif_End() { alert("载入完成!") } //加载图片,并显示 function Loading(a,b) { //当数组元素为空时,切换数组的一维 if (!Gif

  • Android 按指定大小读取图片的实例

    在Android开发中,我们经常遇到Android读取图片大小超过屏幕显示的图(一般只要显示一定规格的预览图即可),在图片特别多或者图片显示很频繁的时候要特别注意这个问题,下面介绍个按指定大小读取图像的方法. 实现原理:首先获取图片文件的图像高和宽,如果小于指定比例,则直接读取:如果超过比例则按指定比例压缩读取. 捕获OutOfMemoryError时注意点:后面返回的是null,不要马上从别的地方再读图片,包括R文件中的,不然依然会抛出这个异常,一般在初始化的时候缓存默认图片,然后显示缓存中的

  • 利用Opencv实现图片的油画特效实例

    一.方法原理(步骤) 1.将彩色图片转换为灰度图片(调用opencv的cvtColor()方法): 2.将图片分割为若干个小方块,后面会统一小方块中每一个像素的灰度值: 3.将0-255的灰度值划分为几个等级,并把上一步处理的结果映射到这些范围内.例如0-255一共256个灰度等级,把它划分为四个段,即每段有64个灰度等级(0-63为第一段,64-127为第二段,128-191为第三段,192-255为第四段): 4.找到每个小方块中,最多灰度等级的所有像素,并求这些像素的均值: 5.用上一步得

  • delphi实现保存和读取图片的方法

    本文实例讲述了delphi实现保存和读取图片的方法,是非常实用的技巧.分享给大家供大家参考.具体实现方法如下: 首先引用jpeg 1.显示图片: if OpenPictureDialog.Execute then begin img1.Picture.LoadFromFile(OpenPictureDialog.FileName); btnPicture.Text:=OpenPictureDialog.FileName; end; 2.保存图片: var Stream:TMemoryStream

随机推荐