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

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

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

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

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

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

现在假设有100张BMP图片,这些图片宽高互相之间都彼此相同,当然每张的宽和高都不一样。# F+ j) G; T, L' L
图片的背景都不同,但是上面都用一种颜色写着一个汉字,比如是黄色。
- {$ w* n! \4 J9 w要求抽出一些像素,这些像素满足以下条件
7 r/ X# R: t% r4 O6 v9 G
# w3 _2 @( k! U9 x  x  M1. 颜色都相同是黄色* W$ ^; c. |4 w- {& \- Y' ^
2.在图片中的位置x,y都相同4 e. r2 R! Y% ]/ n& _+ k
3.这些点在每张图片中都出现# O3 m/ C- X- a% R

9 g- O- s. R# q; Y% S' G4 d% _要求程序能对应24bit  bmp 和32bit bmp+ I* J3 P1 O2 V

  ?  n$ q. F  s( p! W1 m0 J把所有满足条件的点的x,y都输出到一个文本文件就行。$ }. l/ N! S6 K. j
这个程序主要是用来做图像识别的预处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2009-6-3 20:13 | 只看该作者
查找像素的问题不难,难的是识别成文本文件。OCR的技术还是比较困难的。对于英文字体来说,26个字母+数字+符号可以生成码表查找,但是存在几个问题:. ~7 \& J7 x: l+ [
1、每个字符的宽度不同,这样在获取的时候有一定困难;
( S8 x9 X  k' p7 z2 l9 q6 ~0 ?" X2、文字字体假如不同,就需要建立不同的对码表;
! h* I- _+ P  }' {& g3、如果是汉字,那需要的码表就更复杂了: a. l6 Q2 |3 b+ k* d
暂时只想到这些。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2009-6-3 20:22 | 只看该作者
引用第1楼肥牛于2009-06-03 20:13发表的  :$ s$ R2 r8 w5 ~* @$ l  p
查找像素的问题不难,难的是识别成文本文件。OCR的技术还是比较困难的。对于英文字体来说,26个字母+数字+符号可以生成码表查找,但是存在几个问题:7 ]! `. a- a& U( |2 e5 K
1、每个字符的宽度不同,这样在获取的时候有一定困难;% n: w0 |3 Q3 I  p' P2 ^
2、文字字体假如不同,就需要建立不同的对码表;
# u" O; d6 I# N% a  R3 U& ~3、如果是汉字,那需要的码表就更复杂了
7 B; O" {4 W  E  A* y+ l  W暂时只想到这些。
2 }! O+ D  ?% `0 I% A

6 |, Z& S+ c0 B* P/ |呵呵。这些问题我早就想到了。# W) j5 H$ {  n  l$ b4 H/ n+ s4 p. }( V
办法都有了,就是最近这几天的事情。
2 l3 M7 c9 `+ {% m: k只是还来不及详细写出来。4 g7 Q; U$ v8 X9 o& z
你先看看我最近的帖子。% R4 ~7 v- M1 j8 s& P8 y
等等,我来解释。。。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2009-6-3 20:31 | 只看该作者
你先看看这个帖子' Z' }# J: U$ t# ?+ N
https://www.chinaavg.com/read.php?tid=17369+ p3 k+ Q& @: U/ _8 s

( T3 K" A: l3 t4 E其实对你的问题都有回答了,1 q" q" B' u( p2 d- h1 h5 V& w# |
字符的宽度和高度肯定要调整,通过修改xml和tga来调整。
4 \% R7 a/ L% J; m6 V. J我识别的不是字体,是色块和像素。
1 w' }) U! s7 ]也就是我说的变型条形码和2维码。( l/ \# E# ^0 F9 I+ O& o( p4 e
的确要建立码表。( [7 x( n/ C8 {" S5 J
$ N' V$ l+ y7 [, S: i9 N( ^
需要进一步解释吗?
回复 支持 反对

使用道具 举报

5#
发表于 2009-6-4 21:14 | 只看该作者
VB,DELPHI都有一种异或笔刷,可以试一试~0 ?8 S$ e2 n2 e, E+ `
C的话调用GDI进行XOR应该可以,我先试一试去~
回复 支持 反对

使用道具 举报

6#
发表于 2009-6-4 21:50 | 只看该作者
补个VB CODE..2 o; i" s1 Z/ P8 h* V' r
% N$ A- v1 @9 o1 b
这个意思?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2009-6-4 21:57 | 只看该作者
引用第5楼firendless于2009-06-04 21:50发表的  :$ R: Z6 j4 c5 h9 I+ V' M
补个VB CODE..
( ~; m! o$ J! ?: K5 [# M9 z0 x( G6 z9 L! {6 ~+ O* |& z* l  r% \4 d, j
这个意思?
9 j9 _+ x+ r, N& \! {7 }
你把代码放出来吧。
7 I3 ?' p# l6 O' @; {! v/ G# c' {光测试看不出对不对。
回复 支持 反对

使用道具 举报

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 | 只看该作者
这个事情不难,我给你写个小程式~, [/ C6 e" Z. c* Y- k
就是取一个图片,把图片中所有的指定颜色的XY坐标集输出到TXT中对吧?
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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