图像数据的拉伸显示

原创 2016年05月30日 09:56:32

1,本文主要是对float 类型的图像数据,进行的拉伸(拉伸到0-255)显示,用到opencv 库

// 本程序输入一个src float 类型的数据,经过数据的拉伸显示为图片, 用到opencv 库中的显示
//fileName 显示窗口的名字
// CV_32FC1 * n 维度的数据显示其中的一维
// src 为 若为CV_32FC1 则输入为 mat.data
// src 为float 类型的buffer 数据
// width src 的宽
// height src 的高
// channel 通道数
// showDim 要显示的通道
int convertStretch(char * fileName,float * src, int width, int height, int channel, int showDim)
{
    int i , j;
    float tmax,tmin;
    Mat temp = Mat(height, width, CV_8UC1);
    float * tempF = (float *)malloc(height * width * sizeof(float));

    tmax = src[0 + showDim];
    tmin = src[0 + showDim];
    float scale = 0;
    for(i = 0; i < height; i ++)
    {
        for(j = 0; j < width; j ++)
        {
            tempF[i * width + j] = src[(i * width + j) * channel + showDim];
            if(tmax < tempF[i * width + j])
            {
                tmax = tempF[i * width + j];
            }
            if(tmin > tempF[i * width + j])
            {
                tmin = tempF[i * width + j];
            }

        }
    }
    printf(" %s max= %f min = %f\n", fileName, tmax, tmin);
    scale = 255.0f / (tmax - tmin);
    for(i = 0; i < height; i ++)
    {
        for(j = 0; j < width; j ++)
        {
            temp.data[i * width + j] = (unsigned char)((int)((tempF[i * width + j] - tmin) * scale));

        }
    }

    imshow(fileName, temp);
    free(tempF);
    waitKey(0);
    return 0;

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

matlab将矩阵数据归一化到[0,255]

function OutImg = Normalize(InImg) ymax=255;ymin=0; xmax = max(max(InImg)); %求得InImg中的最大值 xmin = min...

Opencv 图像边缘拉伸

需求如下图,需要将绿色点围成的区域(记做inside)到红色点围成的区域(记做outside)拉伸到蓝色点(图片中有两圈蓝点,本文以内圈蓝点为准)围成的区域(记做affine),并且绿色区域内部的图像...

卷积算子计算方法(卷积运算)

卷积算子计算方法(卷积运算) -- 卷积操作是对图像处理时,经常用到的一种操作。它具有增强原信号特征,并且能降低噪音的作用。 那么具体是如何计算的呢?且看下文。 待处理图像数据(5*5):    ...

【matlab】雷达成像系列 之 BP(BackProjection,后向投影) 成像算法

BP算法的介绍与分析

DGUS 实时显示图像数据

  • 2014年10月07日 08:34
  • 728KB
  • 下载

Visual C++中实现对图像数据的读取显示

作者:jiaohe2000 转自:http://blog.csdn.net/jiaohe2000/article/details/1733517 在利用VC进行数据库编程时,经常需要处理数...
  • whw8007
  • whw8007
  • 2014年01月12日 19:03
  • 663

vc/mfc获取rgb图像数据后动态显示及保存图片的方法

vc/mfc获取rgb图像数据后动态显示及保存图片的方法 该情况可用于视频通信中获取的位图数据回放显示或显示摄像头捕获的本地图像 第一种方法 #include 加载 vfw32.lib  链接...

VB对图像数据存储显示

数据库是数据管理的最新技术,是计算机科学的重要分支,是现代计算机信息系统和计算机应用的基础和核心。在科学技术高速发展的今天,在信息资源无处不在、无处不用,已成为各部门的重要财富的时候,对于从事程序开发...

SDL学习笔记7--用SDL显示图像数据

这篇文章实际和学习笔记3和4差不多,未来需要深入理解window, render, texture, surface等概念。 #include "SDL.h" struct { Uint3...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图像数据的拉伸显示
举报原因:
原因补充:

(最多只允许输入30个字)