当前位置: 首页 > news >正文

注册个人网站要多少钱欢迎访问中国建设银行网站

注册个人网站要多少钱,欢迎访问中国建设银行网站,广告公司网站设计策划书,南阳网站运营图像放大的三种插值算法 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章#xff1a; 01- 一元熵值、二维熵值 02- 图像平移变换#xff0c;图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、K近邻均值滤波器 04-…图像放大的三种插值算法 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章 01- 一元熵值、二维熵值 02- 图像平移变换图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、K近邻均值滤波器 04-分段线性变换直方图均衡化、锐化处理 05-基于拉普拉斯算子、Canny的边缘检测功能、实现Otsu分割方法 文章目录 图像放大的三种插值算法实验内容一、 插值算法的原理1. 最近邻插值2. 双线性插值3. 立方卷积插值 二、 实验代码与现象图1. 最近邻插值2. 双线性插值3.立方卷积插值 实验内容 B–3研究放大图像时使用的插值算法使用VC实现常见的三种图像插值算法最近邻插值双线性插值立方卷积插值。通过实验验证其效果。 一、 插值算法的原理 1. 最近邻插值 最近邻插值是一种简单的插值方法它选择离目标位置最近的已知像素值。对于二维图像上的插值最近邻插值的公式为 I new ( x , y ) I old ( round ( x ) , round ( y ) ) I_{\text{new}}(x, y) I_{\text{old}}\left(\text{round}(x), \text{round}(y)\right) Inew​(x,y)Iold​(round(x),round(y)) 其中 $ I_{\text{new}}(x, y) $ 是目标位置的新像素值。$ I_{\text{old}}(x’, y’) $是原始图像中最近邻的已知像素值其中 $ (x’, y’) $ 由 $ (x, y) $ 四舍五入得到。 2. 双线性插值 双线性插值考虑了目标位置周围的四个最近的已知像素值并根据其相对位置进行加权平均。对于二维图像上的插值双线性插值的公式为 I new ( x , y ) ( 1 − α ) ( 1 − β ) I old ( x 1 , y 1 ) α ( 1 − β ) I old ( x 2 , y 1 ) ( 1 − α ) β I old ( x 1 , y 2 ) α β I old ( x 2 , y 2 ) I_{\text{new}}(x, y) (1 - \alpha)(1 - \beta)I_{\text{old}}(x_1, y_1) \alpha(1 - \beta)I_{\text{old}}(x_2, y_1) (1 - \alpha)\beta I_{\text{old}}(x_1, y_2) \alpha \beta I_{\text{old}}(x_2, y_2) Inew​(x,y)(1−α)(1−β)Iold​(x1​,y1​)α(1−β)Iold​(x2​,y1​)(1−α)βIold​(x1​,y2​)αβIold​(x2​,y2​) 其中 $ I_{\text{new}}(x, y) $ 是目标位置的新像素值。$ I_{\text{old}}(x_i, y_i)$是原始图像中四个最近邻的已知像素值其中 $ (x_i, y_i) $ 是目标位置的四个相邻像素的坐标。$ \alpha x - x_1 $ 和 $ \beta y - y_1$。 双线性插值算法涉及到目标位置周围的四个最近邻的已知像素值。这四个最近邻的像素可以通过目标位置坐标的整数部分和小数部分来确定。假设目标位置的坐标为 ((x, y))则这四个最近邻的坐标可以表示为 ((x_1, y_1), (x_2, y_1), (x_1, y_2), (x_2, y_2))其中 x 1 ⌊ x ⌋ x_1 \lfloor x \rfloor x1​⌊x⌋ 是 x x x的整数部分 x 2 ⌈ x ⌉ x_2 \lceil x \rceil x2​⌈x⌉ 是 x x x的整数部分加一 y 1 ⌊ y ⌋ y_1 \lfloor y \rfloor y1​⌊y⌋ 是 y y y 的整数部分 y 2 ⌈ y ⌉ y_2 \lceil y \rceil y2​⌈y⌉ 是 y y y 的整数部分加一。 这四个最近邻的坐标形成了一个矩形区域如下图所示 (x1, y1) ---------- (x2, y1)| || || | (x1, y2) ---------- (x2, y2)3. 立方卷积插值 立方卷积插值考虑了目标位置周围的八个最近的已知像素值并使用立方卷积核进行加权平均。对于二维图像上的插值立方卷积插值的公式较为复杂其中涉及到立方卷积核的权重计算。 I new ( x , y ) ∑ i − 1 2 ∑ j − 1 2 w ( i , j ) I old ( x i , y j ) I_{\text{new}}(x, y) \sum_{i -1}^{2} \sum_{j -1}^{2} w(i, j)I_{\text{old}}(x i, y j) Inew​(x,y)i−1∑2​j−1∑2​w(i,j)Iold​(xi,yj) 其中 $ I_{\text{new}}(x, y) $ 是目标位置的新像素值。$I_{\text{old}}(x i, y j) $ 是原始图像中八个最近邻的已知像素值其中 $i $ 和 $j $取值为 -1, 0, 1, 2。$ w(i, j) $ 是立方卷积核的权重通常采用一些特定的卷积核形式如 Bicubic 插值。 在立方卷积插值中涉及到的是8个点。以下是正确的描述 对于立方卷积插值考虑目标位置 ( x , y ) (x, y) (x,y) 周围的8个最近邻点其坐标可以表示为 ( x i , y j ) (x_i, y_j) (xi​,yj​)其中 x i x − 1 , 0 , 1 , 2 x_i x - 1, 0, 1, 2 xi​x−1,0,1,2 y j y − 1 , 0 , 1 , 2 y_j y - 1, 0, 1, 2 yj​y−1,0,1,2 这样可以得到一个包含8个点的矩阵如下所示 (x-1, y-1) | (x, y-1) | (x1, y-1) | (x2, y-1) (x-1, y) | (x, y) | (x1, y) | (x2, y) (x-1, y1) | (x, y1) | (x1, y1) | (x2, y1) (x-1, y2) | (x, y2) | (x1, y2) | (x2, y2)这里的坐标形成了一个4x4的矩阵但在立方卷积插值中只需要考虑中间的8个点。这8个点的坐标将用于计算插值权重。 二、 实验代码与现象图 1. 最近邻插值 void CImageProcessingView::OnGeoResizing() {// 实验 图像缩放//MessageBox(请在这里添加图像缩放的代码);// 获得当前文档对象 CImageProcessingDoc* pDoc GetDocument();// 判断图像是否已被加载if( pDoc-m_pDibInit-IsEmpty() ){MessageBox(图像未加载);return;}int width pDoc-m_pDibInit-GetWidth();int height pDoc-m_pDibInit-GetHeight();int bitCount pDoc-m_pDibInit-GetBitCount();// 将 m_pDibInit 拷贝至 m_pDibTestpDoc-m_pDibTest-CloneDib(pDoc-m_pDibInit);// 考虑将图像放大两倍的情况 float nResizing 2;// 获得新的图像高度int newWidth width*nResizing;int newHeight height*nResizing;pDoc-m_pDibTest-SetWidthHeight(newWidth, newHeight);//*****************************图像的插值1最近邻插值算法************//int i0;int j0;float src_x, src_y;RGBQUAD Quad1;for(i0;inewWidth;i)for(j0;jnewHeight;j){src_x (i / nResizing) 0.5; //四舍五入src_y (j / nResizing) 0.5;Quad1pDoc-m_pDibInit-GetPixelColor(src_x,src_y);pDoc-m_pDibTest-SetPixelColor(i,j,Quad1);}// 交换 m_pDibInit 与 m_pDibTest 指针CDib* pTmp pDoc-m_pDibInit;pDoc-m_pDibInit pDoc-m_pDibTest;pDoc-m_pDibTest pTmp; // 设置脏标记pDoc-SetModifiedFlag(TRUE);// 更新视图pDoc-UpdateAllViews(NULL); } 实验现象. 图像放大2倍 2. 双线性插值 int i0;int j0;for(i0;inewWidth;i)for(j0;jnewHeight;j){int xi/nResizing, y j / nResizing; //定位找周围四个点float u i / nResizing,v j / nResizing; //注意这个类型u u - x; //所占权重系数v v - y;int gray0 , gray1 , gray2 , gray3 , GRAY ;gray0 pDoc-m_pDibInit-GetPixelGray(x, y);//边界处理 非补零if (x 1 256)gray1 pDoc-m_pDibInit-GetPixelGray(x1, y);elsegray1 pDoc-m_pDibInit-GetPixelGray(x, y);if (y 1 256)gray2 pDoc-m_pDibInit-GetPixelGray(x, y 1);elsegray2 pDoc-m_pDibInit-GetPixelGray(x, y);if (x 1 256 y 1 256)gray3 pDoc-m_pDibInit-GetPixelGray(x 1, y 1);elsegray3 pDoc-m_pDibInit-GetPixelGray(x, y);GRAY (1 - u) * (1 - v) * gray0 (1 - u) * v * gray2 u * (1 - v) * gray1 u * v * gray3;pDoc-m_pDibTest-SetPixelGray(i, j, GRAY);}// 交换 m_pDibInit 与 m_pDibTest 指针CDib* pTmp pDoc-m_pDibInit;pDoc-m_pDibInit pDoc-m_pDibTest;pDoc-m_pDibTest pTmp;实验效果图. 3.立方卷积插值 int a -0.5; //系数for(int i0;inewWidth;i)for (int j 0; j newHeight; j){int x[4] { 0 }, y[4] { 0 };x[1] i / nResizing, y[1] j / nResizing; //找点,(1,1)位置x[0] x[1] - 1; y[0] y[1] - 1;x[2] x[1] 1; y[2] y[1] 1;x[3] x[1] 2; y[3] y[1] 2;float u (i) / nResizing, v (j) / nResizing;u u - x[1]; //所占权重系数(大于0小于1)v v - y[1];int gray[4][4] { 0 };float w_x[4] { 0 }, w_y[4] { 0 };w_x[0] 1 u; w_x[1] u; w_x[2] 1 - u; w_x[3] 2 - u;w_y[0] 1 v; w_y[1] v; w_y[2] 1 - v; w_y[3] 2 - v;float W_x[4] { 0 }, W_y[4] { 0 };for (int k 0; k 4; k) //计算x和y的权重{if (w_x[k] 1 w_x[k] -1)W_x[k] (a 2) * pow(w_x[k], 3) - (a 3) * pow(w_x[k], 2) 1;else if (w_x[k] 1 w_x[k] 2) W_x[k] a * pow(w_x[k], 3) - 5 * a * pow(w_x[k], 2) 8 * a * w_x[k] - 4 * a;elseW_x[k] 0;if (w_y[k] 1 w_y[k] -1)W_y[k] (a 2) * pow(w_y[k], 3) - (a 3) * pow(w_y[k], 2) 1;else if (w_y[k] 1 w_y[k] 2)W_y[k] a * pow(w_y[k], 3) - 5 * a * pow(w_y[k], 2) 8 * a * w_y[k] - 4 * a;elseW_y[k] 0;}for(int k0;k4;k)for (int m 0; m 4; m){if (x[k] 0 x[k]height y[m] 0 y[m] width) //判断边界gray[k][m] pDoc-m_pDibInit-GetPixelGray(x[k], y[m]);elsegray[k][m] 0;}int Pix_gray 0; //最终计算得到的灰度值for(int k0;k4;k)for (int m 0; m 4; m){Pix_gray gray[k][m] * W_x[k] * W_y[m];}pDoc-m_pDibTest-SetPixelGray(i, j, Pix_gray);}实验效果图.
http://www.lakalapos1.cn/news/10499/

相关文章:

  • 建设网站需要申请百度竞价排名平台
  • 网站推广方法包括哪些茂名网站制作维护
  • 建设一个简单的网站wordpress教程视频 下载
  • 营销网站建设步骤云服务器 多个网站
  • php网站架设教程正规手机网站建设平台
  • aspcms网站图片不显示怎样做网站二级页面
  • wordpress分类归档页重庆seo排名收费
  • 营销管理网站制作移动网站搭建
  • 凡科轻站wordpress覆盖密码重置
  • 杭州市建设监理协会网站基层档案网站建设
  • 响应式网站哪里做上海 网站备案代理
  • 联合年检怎么做网站上住房和城乡建设部网站规范答疑
  • 重庆网站建设冒号网站建设电商考试
  • 新手练习做网站哪个网站比较合适秦皇岛最新封闭通知
  • 163网站视频动做服务外包的三种形式
  • 网页设计后怎么上传到网站网站外链接自己可以怎么做
  • 新站整站排名优化火速公司网站建设的文件
  • 工业设计网站国外流速cms是什么意思
  • 行业网站怎么推广织梦移动网站模板免费下载
  • 做网站的步骤流程温岭做网站的公司有哪些
  • 电信网站备案查询微帮本地推广平台
  • 兼职做效果图设计到哪个网站找wordpress照片小工具
  • 加盟网站制作费用前端开发常用框架
  • 电商网站设计趋势黑客入侵网站怎么做
  • 软件班级网站建设主题黔东南网站建设
  • 网站开发需求文档wordpress contact us
  • 牛商网做网站多少钱广州哪里学网络营销比较好
  • 广州 电商设计网站建设上海市中小企业服务中心
  • 怎么下载建设银行网站岷县城乡建设局网站
  • 一流的镇江网站优化上海专门做培训的网站