| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 718 人关注过本帖
标题:扫描图像内存出错的问题
只看楼主 加入收藏
XH浩
Rank: 2
等 级:等待验证会员
帖 子:8
专家分:13
注 册:2013-3-28
结帖率:100%
收藏
 问题点数:0 回复次数:2 
扫描图像内存出错的问题
BitmapData bitData = bitImage.LockBits(new Rectangle(0, 0, bitImage.Width, bitImage.Height),
                 ImageLockMode.ReadOnly, PixelFormat.Format8bppIndexed);

int width = bitData.Width;
int height = bitData.Height;
int stride = bitData.Stride;
byte* scanStart = (byte*)bitData.Scan0.ToPointer();

 //用于统计图像每列的黑色点数
int[] xNormal = new int[width];

for (int i = 0; i < width; i++)
{
    byte* vol = &scanStart[i * stride];

    for (int j = 0; j < height; j++)
    {
        if (vol[j] == 0)
        {
            xNormal[i]++;
        }
    }
}

bitImage.UnlockBits(bitData);

这里是二值化后的黑白图像的投影峰谷图统计,而按列扫描的话,中途(也就表示没有超出图像的宽/高度和扫描跨度)出现如下图所示的错误:
图片附件: 游客没有浏览图片的权限,请 登录注册


反而我改用按行扫描的话,从头到尾都没有出现内存错误的问题!



急,谁能帮我解决????
搜索更多相关主题的帖子: 内存 
2013-04-11 22:02
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
我对扫描也不太懂,用了几张图测试,大约在像素宽度的90%-95%左右,指针就无效了
2013-04-12 05:27
XH浩
Rank: 2
等 级:等待验证会员
帖 子:8
专家分:13
注 册:2013-3-28
收藏
得分:0 
回复 2楼 yhlvht
汗,是自己对内存的存储理解错误!

[ 本帖最后由 XH浩 于 2013-7-31 11:29 编辑 ]
2013-07-31 11:28
快速回复:扫描图像内存出错的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016623 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved