图像转换 之 方形图转化扇形图
核心算法,是用 的那个 cordic 算法..
http://www.cnblogs.com/signal/archive/2012/11/13/2768140.html
这里主要是想把算法弄到FPGA中去写的测试代码...
这里主要是贴关键代码:
void CTestImgDlg::OnImageCordic()
{
// TODO: Add your control notification handler code here
DWORD dwStart = GetTickCount();
int i;
int j;
for (i=0; i<m_HeightSW; i++)
{
for (j=0; j<m_WidthSW; j++)
{
// j = m_WidthSW/2;
int posX = i;
int posY = j;
BYTE val = this->GetImageCordic(posX,posY); --开始转换
m_pDataSW[i*m_WidthSW + j] = val;
}
}
CString str;
str.Format(" %d ", GetTickCount() - dwStart);
this->SetWindowText(str);
this->Invalidate();
}
#define MOV_POS_X (-256) //坐标变幻值
#define MOV_POS_Y (86)
#define US_IMG_W (81) // 原始图像的大小
#define US_IMG_H (256)
#define ANG_UNIT (60.0/(US_IMG_W - 1)) // 图像横像素所占角度
#define LEN_UNIT ((512 - 1 - 20)/(US_IMG_H*1.0)) // 图像坚像素所占长度
BYTE CTestImgDlg::GetImageCordic(int i, int j)
{
BYTE val = m_pDataSW[i*m_WidthSW + j];
// 直角坐标位置改变
double posX = i + MOV_POS_Y;
double posY = j + MOV_POS_X;
// posX = 300;
// posY = 300;
// 转为极坐标
double len;
double ang;
// cordic_int(i,j,len,ang);
cordic_double(posX,posY,len,ang);
// 换算为直角坐标的坐标
// double posX;
// double posY;
posX = ang/ANG_UNIT;
posY = len/LEN_UNIT;
posX = posX + US_IMG_W/2;
posY = posY - 56;
//最近邻的必要.........
// posX += 0.5;
// posY += 0.5;
// 没有落在图像上,则为黑色
if (posX < 0.0 || posX > US_IMG_W )
{
return 0;
}
if (posY < 0.0 || posY > US_IMG_H )
{
return 0;
}
// 下面是像素的计算--用的是简化计算, 把一个像素的落点分为8*8的可能区域,
// 如果要求更高,可以区分更细,而且不占什么时间, 不过我想没必要
int pointX = posX;
int pointY = posY;
//落点所在的区域
int X_c0 = (posX - pointX)*8;
int X_c1 = (posY - pointY)*8;
//取出四个点
int val00 = m_pDataUS[pointY * m_WidthUS + pointX];
int val01 = m_pDataUS[pointY * m_WidthUS + pointX + 1];
int val10 = m_pDataUS[(pointY+1) * m_WidthUS + pointX];
int val11 = m_pDataUS[(pointY+1) * m_WidthUS + pointX + 1];
//计算值--先求横向,再求纵向
int v1 = val00 + ((val01 - val00)>>3)*X_c0;
int v2 = val10 + ((val11 - val10)>>3)*X_c0;
val = v1 + ((v2 - v1)>>3)*X_c1;
// val = posY;
// 计算图像数值
return val;
}
转载于:https://www.cnblogs.com/signal/p/4019251.html
图像转换 之 方形图转化扇形图相关推荐
- 小小数据统计(柱状图、折线图、扇形图)
代码地址如下: http://www.demodashi.com/demo/12012.html 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要 ...
- Chart图表整合——面积对比图、扇形图、柱状图
一. chart图表demo网址 网址:http://antv.alipay.com/zh-cn/f2/3.x/demo/index.html 二. 本文主要对面积对比图,扇形图,柱状图三大常见图进行 ...
- 多波束前视声呐的矩形图转扇形图
# -*- coding: utf-8 -*- """ Created on Fri Apr 1 16:18:44 2022 @author: WJJ "&qu ...
- 【Echarts 绘制柱状图、折线图和扇形图】
1. 柱状图和折线图 柱状图和折线图的基本内容完全一致,只需要将option中的series的type: 'bar' 修改type: 'line',就可以将柱状图转化为折线图. initEchart( ...
- Excel高级图表制作③——漏斗图/转化路径图
Excel图表系列(文末有大礼赠送): Excel高级图表①--电池图/KPI完成情况对比图 Excel高级图表②--帕累托图 Excel高级图表④-超级好用的Bullet图(KPI考核图) Exce ...
- android 第三方扇形图,Android扇形图(饼状图)
关于Android的图形控件,市场上是有很多的开源库的 我个人用的比较多的就是:MPAndroidChart,个人感觉挺好用的,但是有写时候,满足不了需求,就需要自己去写了. 先看看我们的效果图: T ...
- ios 扇形 按钮_iOS 饼状图(扇形图)动画效果的实现
先上效果图: 23.gif Demo在此,休得撒野!!!! 1.怎么用 /** * Pie * * @param frame frame * @param dataItems 数据源,此Demo是红. ...
- ppt扇形图怎么显示数据_ppt如何制作扇形图 ppt如何画扇形统计图-泡泡糖办公
扇形图是我们工作中最常用到的数据图表之一: 多用于表示部分占总体的比例情况,从上图中可以看出,扇形图非常专一. 既然是比例,一般就会用到百分比,所以在扇形图的标签中存在转化成百分比形式的这一项.也就是 ...
- Matplotlib之扇形图绘制
1 扇形图介绍 扇形图用整个圆表示总数,用圆内各个扇形的大小表示各部分数量占总数的百分数. 2 扇形图绘制 扇形图通过pie()函数绘制 plt.pie(x, explode=None, labels ...
最新文章
- MetaQ Log4j及服务器配置管理
- 道路交通安全违法行为记分管理办法的重大调整(2022版)
- Nginx编译安装和平滑升级
- godaddy ssl_免费在线Linux培训,GoDaddy切换到OpenStack等
- ReactNative(三)——WebStorm的基本配置
- php得到第一个数组_php怎么获取数组第一个元素
- 网络人工智能研究方向有哪些?
- python导入requests库_windows环境中python导入requests
- 【面试经验】关于BERT,面试官们都怎么问
- C语言多线程基础-02-临界区,互斥量
- 计算机主机报警 声,电脑开机报警声音大全
- 苹果自带相册打马赛克_原来手机点击这个按钮,就能一键生成音乐电子相册!这也太厉害了...
- 咽炎引发-----喉源性咳嗽(摘)
- 2022-2023寒假
- Windows2012的VPN服务与测试
- 万年历编写(从公元元年算起 考虑儒略历与格里历的变换)
- ASM 函数参数处理
- docker中mysql数据库闪退的原因
- iPhone X用户需要知道的12个隐藏小技巧 条条实用
- 【前端知识体系】浏览器
热门文章
- VUE 笔记(持续更新中...)
- java B2B2C springmvc mybatis多租户电子商城系统(五):熔断监控Hystrix Dashboard和Turbine...
- Linux中利用grep命令如何检索文件内容详解
- Python——阶段总结(一)
- 【面试虐菜】—— JAVA面试题(2)
- X-UA-Compatible也无法解决的IE11兼容问题
- zabbix企业应用之固定端口监控redis
- java部署web service的方式
- Spring-Cloud 从0开始(二) Eureka-Client
- CSS选择器学习小结