没有合适的资源?快使用搜索试试~ 我知道了~
首页ISO12233中的MTF测试程序
ISO12233中的MTF测试程序
5星 · 超过95%的资源 需积分: 42 210 下载量 168 浏览量
更新于2023-03-16
评论 9
收藏 74KB DOC 举报
ISO12233中的MTF测试程序,C语言,实现的就是ISO中的算法。与算法无关部分没有显示。
资源详情
资源评论
资源推荐
/
*********************************************************************
********/
// sfr_computation.c
// Copyright (c) PIMA 1998 All Rights Reserved.
//
// Requests for permission to duplicate, distribute, publish, or otherwise copy this
code should be directed to PIMA
/
*********************************************************************
********/
#include "plugin.h"
#include "sfr_computation.h"
#include "io_routines.h"
#include "UserInterface.h"
#include "radiometric_transform.h"
/
*********************************************************************
********/
// macros
static double dmaxarg1,dmaxarg2;
#define DMAX(a,b) (dmaxarg1=(a),dmaxarg2=(b),(dmaxarg1) > (dmaxarg2) ?\
(dmaxarg1): (dmaxarg2))
static double dminarg1,dminarg2;
#define DMIN(a,b) (dminarg1=(a),dminarg2=(b),(dminarg1) < (dminarg2) ?\
(dminarg1): (dminarg2))
static double sqrarg;
#define SQR(a) ((sqrarg=(a)) == 0.0 ? 0.0: sqrarg*sqrarg)
/
*********************************************************************
********/
short sfrProc ( GHdl globals, dblHandle FreqHdl, dblHandle dispString)
{
unsigned short i, j, nSamplesPerPixel, tmpalpha, err = 0;
long pcnt, pcnt2, col, ww_in_pixels;
double dt, dt1, sfrc, tmp, tmp2, slope;
OSErr erro=0;
unsigned long size_x, size_y;
uHandle area=nil;
dblHandle darea=nil,temp=nil,shifts=nil,edgex=nil,Signal=nil;
dblHandle AveEdge=nil,AveTmp=nil,farea=nil;
longHandle counts=nil;
size_x = gStuff->inRect.right - gStuff->inRect.left;
size_y = gStuff->inRect.bottom - gStuff->inRect.top;
nSamplesPerPixel = gStuff->imageMode;
ww_in_pixels = size_x;
// Verify input selection dimensions are EVEN
if (fmod((double)size_x,2.0) != 0.00)
{
ShowAlertText(SHOWALERTSTOP,SFRERR,5);
gResult = 1;
return 1;
}
if (fmod((double)size_y,2.0) != 0.00)
{
ShowAlertText(SHOWALERTSTOP,SFRERR,6);
gResult = 1;
return 1;
}
// Allocate memory
//This code not shown
// Load the image data into the "area" array.
if (TestAbort ())
{
gResult = 1;
return 1;
}
err = load_area_array(globals, area);
if (err != 0)
{
gResult = 1;
return 1;
}
if (TestAbort ())
{
gResult = 1;
return 1;
}
err = radiometric_conversion(globals, area, darea);
if (err != 0)
{
gResult = 1;
return 1;
}
// Extract first color channel (luminance)
for (j=0;j < size_y;j++)
{
for (i=0;i < size_x;i++)
{
(*farea)[((j*(long)size_x)+i)] =
( *darea)[(nSamplesPerPixel*((j*(long)size_x)+i)) + 0L];
}
}
err = check_image_data( globals, farea, darea);
if (err != 0)
{
gResult = 1;
return 1;
}
if (TestAbort ())
{
gResult = 1;
return 1;
}
err = locate_centroids( globals, farea, temp, shifts);
if (err != 0)
{
gResult = 1;
return 1;
}
// Calculate the best fit line to the centroids
err = fit(size_y, temp, shifts, &slope);
if (err != 0)
{
gResult = 1;
return 1;
}
if ( fabs(slope) < (1.0/(double)size_y) || slope > (double)(1.0/4.0))
{
ShowAlertText(SHOWALERTSTOP,SFRERR,4);
gResult = 1;
return 1;
}
/
*********************************************************************
********/
剩余14页未读,继续阅读
ajiuhit
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论9