社区
图形处理/算法
帖子详情
图像旋转模糊失真, 求失真最小的算法 或者方安 UP有分
huanyun
2003-11-29 10:01:22
彩色图像 用插值 整个图像就边了
请问高手使用什么方法旋转
...全文
89
16
打赏
收藏
图像旋转模糊失真, 求失真最小的算法 或者方安 UP有分
彩色图像 用插值 整个图像就边了 请问高手使用什么方法旋转
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
魔芋
2003-12-03
打赏
举报
回复
用数码相机
101monster
2003-12-03
打赏
举报
回复
顶!呵呵,关注!
andone
2003-12-03
打赏
举报
回复
gz
wangweixing2000
2003-12-03
打赏
举报
回复
gz
s6283
2003-12-03
打赏
举报
回复
我现在用的方法是先插值放大再旋转,效果还可以,不知道谁有更好方法?
abiaozsh
2003-12-03
打赏
举报
回复
basic的代码:
平滑旋转,没有锯齿!!!!
pic(x,y)源图像数组
pic2(x,y)目标图像数组
仅仅是算法,自己再加以改动就可以了
For a = -r1 To r1
For B = -r1 To r1
If a * a + B * B < r2 Then
X = a * Cos(s) + B * Sin(s)
Y = B * Cos(s) - a * Sin(s)
x_big = Int(X) + 1
y_big = Int(Y) + 1
x_sml = Int(X)
y_sml = Int(Y)
temp_color = pic(x_big + wid, y_big + hei)
a_color_r = (temp_color And &HFF)
a_color_g = ((temp_color And 65280) \ &H100)
a_color_b = ((temp_color And &HFF0000) \ &H10000)
temp_color = pic(x_big + wid, y_sml + hei)
b_color_r = (temp_color And &HFF)
b_color_g = ((temp_color And 65280) \ &H100)
b_color_b = ((temp_color And &HFF0000) \ &H10000)
temp_color = pic(x_sml + wid, y_big + hei)
c_color_r = (temp_color And &HFF)
c_color_g = ((temp_color And 65280) \ &H100)
c_color_b = ((temp_color And &HFF0000) \ &H10000)
temp_color = pic(x_sml + wid, y_sml + hei)
d_color_r = (temp_color And &HFF)
d_color_g = ((temp_color And 65280) \ &H100)
d_color_b = ((temp_color And &HFF0000) \ &H10000)
t_color_r = (a_color_r * (Y - y_sml) + b_color_r * (y_big - Y)) * (X - x_sml) + (c_color_r * (Y - y_sml) + d_color_r * (y_big - Y)) * (x_big - X)
t_color_g = (a_color_g * (Y - y_sml) + b_color_g * (y_big - Y)) * (X - x_sml) + (c_color_g * (Y - y_sml) + d_color_g * (y_big - Y)) * (x_big - X)
t_color_b = (a_color_b * (Y - y_sml) + b_color_b * (y_big - Y)) * (X - x_sml) + (c_color_b * (Y - y_sml) + d_color_b * (y_big - Y)) * (x_big - X)
t_color = RGB(t_color_r, t_color_g, t_color_b)
pic2( a + xC, B + yC)= t_color
End If
Next B
Next a
anni
2003-12-03
打赏
举报
回复
听说一定要做三点或更多点的滤波,点越多效果越好,但耗时会更多,需要数字信号处理的知识!!要用到MMX来计算一些转换!
HUNTON
2003-12-01
打赏
举报
回复
虽然不知GDI+是如何实现插值的,但本人提出的三点插值法效果也很好,希望对你有帮助,看看。http://expert.csdn.net/Expert/topic/1979/1979443.xml?temp=.8082392
HUNTON
2003-12-01
打赏
举报
回复
对你的问题用双线性插值比较多。三点插值法只是一个方法,在你这里可能也不是很好用,主要是三点不好取。如果你想试的话就这样取试试:浮点坐标为(x.a,y.b),如果a>=b,则取(x,y),(x+1,y),(x+1,y+1),否则取(x,y),(x,y+1),(x+1,y+1)
huanyun
2003-12-01
打赏
举报
回复
谢谢 HUNTON 给定的一个点 如何得到它的三个顶点?
:)
还有其他的方法没
crazybit
2003-11-30
打赏
举报
回复
你可以看看CXImage的实现,双线性插值算法,但速度和质量比GDI+差的实在是太多了。
huanyun
2003-11-30
打赏
举报
回复
GDI+是怎么样做的呢
Kevin1121
2003-11-30
打赏
举报
回复
关注!
huanyun
2003-11-29
打赏
举报
回复
高手 帮忙啊
huanyun
2003-11-29
打赏
举报
回复
谢谢楼上的patblt()是系统函数
我需要自己处理象素内容 而且要支持1, 4, 8, 16, 24, 32的位图
应该是比较麻烦了
enoloo
2003-11-29
打赏
举报
回复
up.
用双 dc+patblt()
或用 setworldtransform(..),用于矩阵旋转。
我只会这些。
学习...
linux界面无法全凭解决
方安
附软件
有些linux装上后,无法对宽屏支持,通过配置X11可以实现,另外需要装上915resolution
高频电源变压器原则
方安
和原理
电源变压器的功能是功率传送、电压变换和绝缘隔离,作为一种主要的软磁电磁元件,在电源技术中和电力电子技术中得到广泛的应用。根据传送功率的大小,电源变压器可以分为几档:10kVA以上为大功率,10kVA~0.5kVA为中功率,0.5kVA~25VA为小功率,25VA以下为微功率。传送功率不同,电源变压器的设计也不一样,应当是不言而喻的。有人根据它的主要功能是功率传送,把英文名称“Power Transformers”译成“功率变压器”,在许多文献资料中仍然在使用。究竟是叫“电源变压器”,还是叫“功率变压器”好呢?有待于科技术语方面的权威机构来选择决定。
天元港通风空调施工
方安
.doc
天元港通风空调施工
方安
.doc
清软英泰TiPDM解决
方安
介绍.pdf
清软英泰TiPDM解决
方安
介绍.pdf
高级PL SQL解决
方安
案的设计与开发
讲述时PL SQL 也即是oracle存储过程
图形处理/算法
19,468
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章