设为首页收藏本站官方微博

【汉化任务简报】#27 图片交集像素抽出程序

[复制链接]
查看: 2896|回复: 16
打印 上一主题 下一主题

【汉化任务简报】#27 图片交集像素抽出程序

跳转到指定楼层
楼主
发表于 2009-6-2 11:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

【汉化任务简报】#27 图片交集像素抽出程序

现在假设有100张BMP图片,这些图片宽高互相之间都彼此相同,当然每张的宽和高都不一样。6 G3 m6 G% {# h+ Y
图片的背景都不同,但是上面都用一种颜色写着一个汉字,比如是黄色。
* f* z2 h0 ?6 ]要求抽出一些像素,这些像素满足以下条件
" _& u! S2 }2 i( c0 }' d6 ~) k; }' G9 D
1. 颜色都相同是黄色/ R* J+ Z. M9 C* ]0 s. ]% f
2.在图片中的位置x,y都相同$ q# B' l" b8 y3 f6 \# B
3.这些点在每张图片中都出现. M7 b0 ~, v* c: w5 z

2 H2 M' T/ ]5 u5 F% N3 K要求程序能对应24bit  bmp 和32bit bmp+ L' x4 z# B9 T; Q
, g- A7 |/ g8 U7 j% t9 F$ ], v9 B
把所有满足条件的点的x,y都输出到一个文本文件就行。
* `2 U4 }3 {: _: H) L" v这个程序主要是用来做图像识别的预处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2009-6-3 20:13 | 只看该作者
查找像素的问题不难,难的是识别成文本文件。OCR的技术还是比较困难的。对于英文字体来说,26个字母+数字+符号可以生成码表查找,但是存在几个问题:
5 ^) l$ t2 p$ s( t7 C' Y/ L# f9 U1、每个字符的宽度不同,这样在获取的时候有一定困难;
" M; z0 x: d0 `4 K$ G0 s. Y( P0 S; Q$ ~2、文字字体假如不同,就需要建立不同的对码表;6 l! {; n, b/ c
3、如果是汉字,那需要的码表就更复杂了
, `7 b4 V0 R/ z; v- x9 j  e7 \暂时只想到这些。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2009-6-3 20:22 | 只看该作者
引用第1楼肥牛于2009-06-03 20:13发表的  :
0 ?: i0 _1 j3 A" r查找像素的问题不难,难的是识别成文本文件。OCR的技术还是比较困难的。对于英文字体来说,26个字母+数字+符号可以生成码表查找,但是存在几个问题:, I. M' j  c$ g/ t4 [! }+ G+ o
1、每个字符的宽度不同,这样在获取的时候有一定困难;; W0 ^9 G1 ^) n, ^5 c! a4 ^
2、文字字体假如不同,就需要建立不同的对码表;4 v  h4 P0 g# ^7 k; Y( R/ _
3、如果是汉字,那需要的码表就更复杂了5 k' p) q' {% d& m9 \! [
暂时只想到这些。

+ w: D* [* |: J# @8 H4 z
( ]/ ?: O* [) U" A呵呵。这些问题我早就想到了。! J/ v: ~1 a2 m* x, {1 \
办法都有了,就是最近这几天的事情。; ]5 `' r( D. o- W9 M0 {. s
只是还来不及详细写出来。
& J+ O, v9 a" s7 Q4 I! i你先看看我最近的帖子。4 G2 Y4 O/ x4 Q4 W) y) u
等等,我来解释。。。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2009-6-3 20:31 | 只看该作者
你先看看这个帖子5 |2 w; ?5 L( m! \* ~1 f2 ~7 p0 c
https://www.chinaavg.com/read.php?tid=17369' {' N5 j; h( d( B4 ]& b) \

7 A2 }! t# f2 s. o5 `( _% V7 M1 A其实对你的问题都有回答了,
, F/ }& q' N. p2 r字符的宽度和高度肯定要调整,通过修改xml和tga来调整。
- v' ^6 N1 W9 Z, q4 \我识别的不是字体,是色块和像素。, |/ C; X1 b- y7 f$ U9 n, r
也就是我说的变型条形码和2维码。
) A; H, _* w) i2 }8 c的确要建立码表。2 u8 r: Z! w. h) i' _  u
6 e5 k; P- }+ |3 l
需要进一步解释吗?
回复 支持 反对

使用道具 举报

5#
发表于 2009-6-4 21:14 | 只看该作者
VB,DELPHI都有一种异或笔刷,可以试一试~, C  z6 g( b) b
C的话调用GDI进行XOR应该可以,我先试一试去~
回复 支持 反对

使用道具 举报

6#
发表于 2009-6-4 21:50 | 只看该作者
补个VB CODE..# W. U" V7 K4 l. }, x
7 S& B" s, x% x3 e* a8 }% \
这个意思?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2009-6-4 21:57 | 只看该作者
引用第5楼firendless于2009-06-04 21:50发表的  :7 S6 u3 ?7 {" Q& |6 {. Z( T
补个VB CODE..
7 u% d& R# z$ s! C
# D. S1 x/ n9 Q% D6 J( r# k这个意思?
) ~6 ~1 G1 {# j3 t) C5 f" v
你把代码放出来吧。; L- Q, t9 I) l$ m, f8 H1 {' J
光测试看不出对不对。
回复 支持 反对

使用道具 举报

8#
发表于 2009-6-4 22:02 | 只看该作者
别说丑...种子扫描算法..[就是平推]
  1. Option Explicit
  2. Private Declare Function GetPixel _
  3.                 Lib "gdi32" (ByVal hdc As Long, _
  4.                              ByVal x As Long, _
  5.                              ByVal y As Long) As Long
  6. Private Sub cmdText_Click()
  7.     With picBox
  8.         .Cls
  9.         .ForeColor = vbYellow
  10.         picBox.Print "This is a test."
  11.     End With
  12. End Sub
  13. Private Sub cmdWork_Click()
  14.     Dim x      As Single, y As Single, w As Single, h As Single
  15.     Dim strOut As String, strTmp As String, lngTmp As Long
  16.     With picBox
  17.         w = .Width
  18.         h = .Height
  19.     End With
  20.     strOut = ""
  21.     strTmp = ""
  22.     For x = 0 To w
  23.         For y = 0 To h
  24.             lngTmp = GetPixel(picBox.hdc, x, y)
  25.             If lngTmp = 0 Then
  26.                 strTmp = "x:" & x & " y:" & y & vbNewLine
  27.                 strOut = strOut & strTmp
  28.    
  29.             End If
  30.    
  31.         Next
  32.    
  33.     Next
  34.     txtOut = strOut
  35. End Sub
  36. Private Sub cmdXor_Click()
  37.     With picBox
  38.         .DrawMode = vbXorPen
  39.         picBox.Line (0, 0)-(.Width, .Height), vbYellow, BF
  40.     End With
  41. End Sub
复制代码
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2009-6-4 22:05 | 只看该作者
放着,以后可能会有用。
回复 支持 反对

使用道具 举报

sspking 该用户已被删除
10#
发表于 2009-6-4 22:06 | 只看该作者
这个事情不难,我给你写个小程式~
# R/ b5 s" J$ o, }1 z' Q+ A1 `2 V* u就是取一个图片,把图片中所有的指定颜色的XY坐标集输出到TXT中对吧?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表