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

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

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

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

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

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

现在假设有100张BMP图片,这些图片宽高互相之间都彼此相同,当然每张的宽和高都不一样。
2 r/ d% I- M: \; Q( v2 j图片的背景都不同,但是上面都用一种颜色写着一个汉字,比如是黄色。8 l/ w1 Y/ |. m
要求抽出一些像素,这些像素满足以下条件
% w% L( A9 z+ k' ~, @- o1 i- ^6 ~/ c3 Z. M( }
1. 颜色都相同是黄色9 Y; K6 i+ B  X$ _! `/ p( c
2.在图片中的位置x,y都相同9 K5 ^+ p# E" n& K6 d. a
3.这些点在每张图片中都出现
: C- g1 v* o1 c" l( N/ k* L: x4 O9 a2 w; l" z# H9 \+ H& Q
要求程序能对应24bit  bmp 和32bit bmp6 d' z$ P' P$ N: B4 ~) E
$ L" z7 r: t7 b8 X, _9 ^' L
把所有满足条件的点的x,y都输出到一个文本文件就行。
8 a' u0 U* b9 t0 @6 r- D3 |& e这个程序主要是用来做图像识别的预处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2009-6-3 20:13 | 只看该作者
查找像素的问题不难,难的是识别成文本文件。OCR的技术还是比较困难的。对于英文字体来说,26个字母+数字+符号可以生成码表查找,但是存在几个问题:
) K- k2 h  j+ b5 i3 s- k1 [; s1、每个字符的宽度不同,这样在获取的时候有一定困难;
2 @& c- t0 Q' S9 h/ c- c6 _" ^! M/ f2、文字字体假如不同,就需要建立不同的对码表;
2 |: \  P! m) S3 O2 b  M, p3、如果是汉字,那需要的码表就更复杂了
# e; U7 }) L$ |4 a暂时只想到这些。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2009-6-3 20:22 | 只看该作者
引用第1楼肥牛于2009-06-03 20:13发表的  :: A- m  l0 ~: }( |
查找像素的问题不难,难的是识别成文本文件。OCR的技术还是比较困难的。对于英文字体来说,26个字母+数字+符号可以生成码表查找,但是存在几个问题:" U) M9 }  s6 j$ |( m
1、每个字符的宽度不同,这样在获取的时候有一定困难;
3 t/ ]: L! c: u- ?, u& [8 f2、文字字体假如不同,就需要建立不同的对码表;! f) m" N; `8 H, A+ P
3、如果是汉字,那需要的码表就更复杂了
$ v3 L) F8 y0 m2 z暂时只想到这些。

% V  C1 g( x( I$ C% j& V9 i
- k) x, \9 B% y3 r, r呵呵。这些问题我早就想到了。
) H8 O$ p0 S3 O* b$ N9 F0 ?) ^办法都有了,就是最近这几天的事情。
! n5 u7 h+ ?5 K+ ~7 g8 D只是还来不及详细写出来。8 q  `& c2 d; e: N$ B
你先看看我最近的帖子。, g, p4 E" B6 e
等等,我来解释。。。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2009-6-3 20:31 | 只看该作者
你先看看这个帖子
$ O* R, C, p# P3 ^https://www.chinaavg.com/read.php?tid=17369
* X! W* |9 A' b9 m) v! I; ~8 J( Q
/ U5 p4 ~4 a. B& z; R- `9 @( U9 N其实对你的问题都有回答了,3 R% V$ L) u) Q1 k' F
字符的宽度和高度肯定要调整,通过修改xml和tga来调整。
7 s$ _* O. q: D7 x% h: K6 W' }7 t我识别的不是字体,是色块和像素。; j" V8 C+ [7 y2 L; `
也就是我说的变型条形码和2维码。6 _+ U. x* V# P# k9 I, w# w
的确要建立码表。
& O, {; X8 K% Q# R
8 _, R* I/ V% W% a$ }: O3 {2 y! e需要进一步解释吗?
回复 支持 反对

使用道具 举报

5#
发表于 2009-6-4 21:14 | 只看该作者
VB,DELPHI都有一种异或笔刷,可以试一试~8 C. [9 y7 z' [; ^, ^7 u6 m7 o
C的话调用GDI进行XOR应该可以,我先试一试去~
回复 支持 反对

使用道具 举报

6#
发表于 2009-6-4 21:50 | 只看该作者
补个VB CODE..) p1 r* u6 C3 x* N, F" @# M5 e

- b, ^/ B( M  c3 T+ a) r这个意思?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2009-6-4 21:57 | 只看该作者
引用第5楼firendless于2009-06-04 21:50发表的  :
6 W; l# i4 u) a; N" }+ E# A) p补个VB CODE..
. l- p$ o( K8 {5 y  s
& x- B# n& N/ n  a- y3 I, ^这个意思?
: C! j+ @4 f6 k" s8 U
你把代码放出来吧。0 y7 {7 k1 Q  M
光测试看不出对不对。
回复 支持 反对

使用道具 举报

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 | 只看该作者
这个事情不难,我给你写个小程式~
6 m; @6 s. z4 _' C0 o就是取一个图片,把图片中所有的指定颜色的XY坐标集输出到TXT中对吧?
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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