本發(fā)明實(shí)施例涉及圖像處理領(lǐng)域,尤其涉及一種圖像光柵化處理方法及裝置。
背景技術(shù):
在圖像光柵化處理過(guò)程中,圖像語(yǔ)法解析模塊用于解釋pdf文件中圖像的語(yǔ)法,獲取圖像的寬度、高度、位深、色空間等圖像基本信息和圖像操作指令(如旋轉(zhuǎn)、移動(dòng)、縮放)等,并將圖像基本信息和圖像操作指令存儲(chǔ)在磁盤中。
圖像光柵化處理器從磁盤中讀取圖像操作指令對(duì)存儲(chǔ)在磁盤中的原始圖像進(jìn)行處理,例如,圖像操作指令為旋轉(zhuǎn),由于圖像光柵化處理器只能按行讀取圖像數(shù)據(jù),圖像光柵化處理器需要計(jì)算旋轉(zhuǎn)后圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行,并將原始圖像的起始行和終止行的數(shù)據(jù)從磁盤中讀取出來(lái)存入內(nèi)存供后續(xù)圖像操作處理使用。尤其是當(dāng)旋轉(zhuǎn)角度為90度或270度時(shí),旋轉(zhuǎn)后圖像的每行數(shù)據(jù)相對(duì)于原始圖像的第一行和最后一行,因此,對(duì)于旋轉(zhuǎn)后的每行數(shù)據(jù)都需要從磁盤中讀取一次原始圖像的數(shù)據(jù)并存入內(nèi)存。
若原始圖像的像素較大,將導(dǎo)致內(nèi)存資源被嚴(yán)重消耗,另外,還會(huì)導(dǎo)致圖像光柵化處理器的處理速度降低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種圖像光柵化處理方法及裝置,以減低內(nèi)存的占用率,提高圖像光柵化處理器的處理速度。
本發(fā)明實(shí)施例的一個(gè)方面是提供一種圖像光柵化處理方法,包括:
獲取原始圖像數(shù)據(jù)和圖像操作指令;
依據(jù)所述圖像操作指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行處理獲得處理后圖像數(shù) 據(jù);
計(jì)算所述處理后圖像數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息;
依據(jù)所述位置信息從所述原始圖像數(shù)據(jù)中讀取與所述位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù)。
本發(fā)明實(shí)施例的另一個(gè)方面是提供一種圖像光柵化處理裝置,包括:
獲取模塊,用于獲取原始圖像數(shù)據(jù)和圖像操作指令;
圖像處理模塊,用于依據(jù)所述圖像操作指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行處理獲得處理后圖像數(shù)據(jù);
計(jì)算模塊,用于計(jì)算所述處理后圖像數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息;
讀取模塊,用于依據(jù)所述位置信息從所述原始圖像數(shù)據(jù)中讀取與所述位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù)。
本發(fā)明實(shí)施例提供的圖像光柵化處理方法及裝置,通過(guò)計(jì)算處理后圖像數(shù)據(jù)相對(duì)于原始圖像數(shù)據(jù)的位置信息,依據(jù)位置信息從原始圖像數(shù)據(jù)中讀取與位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù),不需從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的圖像光柵化處理方法流程圖;
圖2為本發(fā)明實(shí)施例提供的圖像光柵化處理方法流程圖;
圖3為本發(fā)明另一實(shí)施例提供的圖像光柵化處理方法流程圖;
圖4為本發(fā)明另一實(shí)施例提供的原始圖像的示意圖;
圖5為本發(fā)明另一實(shí)施例提供的旋轉(zhuǎn)后圖像的示意圖;
圖6為本發(fā)明另一實(shí)施例提供的圖像光柵化處理方法流程圖;
圖7為本發(fā)明另一實(shí)施例提供的未裁剪圖像示意圖;
圖8為本發(fā)明另一實(shí)施例提供的裁剪后圖像示意圖;
圖9為本發(fā)明另一實(shí)施例提供的圖像光柵化處理方法流程圖;
圖10為本發(fā)明另一實(shí)施例提供的未旋轉(zhuǎn)圖像分段示意圖;
圖11為本發(fā)明另一實(shí)施例提供的旋轉(zhuǎn)后圖像分段示意圖;
圖12為本發(fā)明實(shí)施例提供的圖像光柵化處理裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
圖1為本發(fā)明實(shí)施例提供的圖像光柵化處理方法流程圖,圖2為本發(fā)明實(shí)施例提供的圖像光柵化處理方法流程圖。本發(fā)明實(shí)施例針對(duì)當(dāng)原始圖像的像素較大,導(dǎo)致內(nèi)存資源被嚴(yán)重消耗,另外,還會(huì)導(dǎo)致圖像光柵化處理器的處理速度降低,提供了圖像光柵化處理方法,具體的方法步驟如下:
步驟s101、獲取原始圖像數(shù)據(jù)和圖像操作指令;
本發(fā)明實(shí)施例的執(zhí)行主體為圖像光柵化處理裝置,該圖像光柵化處理裝置設(shè)置在光柵化處理器中,圖像光柵化處理裝置包括圖像語(yǔ)法解釋模塊和圖像處理器,圖像語(yǔ)法解釋模塊對(duì)pdf文件的圖像語(yǔ)法指令進(jìn)行解析獲得原始圖像基本信息和圖像操作指令,如圖2所示,圖像語(yǔ)法解釋模塊22的輸入是pdf文件21,圖像語(yǔ)法解釋模塊22解析pdf文件21中的語(yǔ)法指令獲得原始圖像基本信息和圖像操作指令,原始圖像基本信息包括原始圖像的寬度、高度、位深、色空間等基本信息,圖像操作指令包括旋轉(zhuǎn)指令、平移指令、縮放指令、裁剪指令等。圖像處理器24的輸入有原始圖像數(shù)據(jù)23和圖像語(yǔ)法解釋模塊22的解析結(jié)果即原始圖像基本信息和圖像操作指令,圖像處理器24依據(jù)圖像操作指令對(duì)原始圖像數(shù)據(jù)23進(jìn)行處理,并將原始圖像數(shù)據(jù)23、原始圖像基本信息和圖像操作指令存入磁盤25中,以便后續(xù)處理使用。
步驟s102、依據(jù)所述圖像操作指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行處理獲得處理后圖像數(shù)據(jù);
如圖2所示,圖像處理器24依據(jù)圖像操作指令對(duì)原始圖像數(shù)據(jù)23進(jìn)行處理獲得處理后圖像數(shù)據(jù)。
步驟s103、計(jì)算所述處理后圖像數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息;
例如,該圖像操作指令具體為旋轉(zhuǎn)指令,圖像處理器24對(duì)原始圖像進(jìn)行旋轉(zhuǎn)后獲得旋轉(zhuǎn)圖像,確定旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),并計(jì)算該映射點(diǎn)相對(duì)于原始圖像第一個(gè)像素點(diǎn)的位置。
步驟s104、依據(jù)所述位置信息從所述原始圖像數(shù)據(jù)中讀取與所述位置信 息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù)。
依據(jù)該映射點(diǎn)相對(duì)于原始圖像第一個(gè)像素點(diǎn)的位置從原始圖像數(shù)據(jù)中讀取該位置上的該映射點(diǎn),由于原始圖像數(shù)據(jù)存儲(chǔ)在磁盤中,圖像處理器24只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),不需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)相對(duì)于原始圖像的起始行和終止行。
本發(fā)明實(shí)施例通過(guò)計(jì)算處理后圖像數(shù)據(jù)相對(duì)于原始圖像數(shù)據(jù)的位置信息,依據(jù)位置信息從原始圖像數(shù)據(jù)中讀取與位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù),不需從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度。
圖3為本發(fā)明另一實(shí)施例提供的圖像光柵化處理方法流程圖;圖4為本發(fā)明另一實(shí)施例提供的原始圖像的示意圖;圖5為本發(fā)明另一實(shí)施例提供的旋轉(zhuǎn)后圖像的示意圖。本發(fā)明實(shí)施例詳述計(jì)算所述處理后圖像數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息的具體方法,該方法步驟如下:
步驟s301、以所述處理后圖像數(shù)據(jù)的各行數(shù)據(jù)為目標(biāo)數(shù)據(jù),確定所述目標(biāo)數(shù)據(jù)的第一個(gè)數(shù)據(jù)在所述原始圖像數(shù)據(jù)中的第一映射數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的第一個(gè)數(shù)據(jù)的第一偏移值;
如圖4所示為原始圖像(矩形部分),對(duì)該圖像進(jìn)行逆時(shí)針45度旋轉(zhuǎn)后獲得如圖5所示的旋轉(zhuǎn)后圖像,以圖5中各行數(shù)據(jù)為目標(biāo)數(shù)據(jù),假設(shè)ab所在行為旋轉(zhuǎn)后圖像的第若干行,本發(fā)明實(shí)施例以該行為例進(jìn)行說(shuō)明,對(duì)其他每一行的處理方法與該行即ab的處理方法一致,具體處理方法為:根據(jù)旋轉(zhuǎn)時(shí)pdf中設(shè)置的轉(zhuǎn)置矩陣m確定ab所在行第一個(gè)數(shù)據(jù)即點(diǎn)a在圖4原始圖像中的第一映射點(diǎn)a’,由于a=a’*m,則a’=a*m’(m’為m矩陣的逆矩陣)。由圖4可知點(diǎn)0為原始圖像的第一個(gè)像素點(diǎn),則根據(jù)計(jì)算出的a’可確定a’相對(duì)于點(diǎn)0的第一偏移值,假設(shè)第一映射點(diǎn)a’的坐標(biāo)為(x,y),原始圖像的寬度為w,則第一偏移值offset=(w+7)*(y-1)/8字節(jié)。
步驟s302、確定所述目標(biāo)數(shù)據(jù)中除所述第一個(gè)數(shù)據(jù)之外的任一數(shù)據(jù)在所述原始圖像數(shù)據(jù)中的第二映射數(shù)據(jù)相對(duì)于所述第一映射數(shù)據(jù)的第二偏移值;
假設(shè)b點(diǎn)為ab所在行中除第一個(gè)數(shù)據(jù)即點(diǎn)a之外的任意一個(gè)數(shù)據(jù),同理 根據(jù)點(diǎn)a和點(diǎn)a’之間的映射關(guān)系可確定b點(diǎn)在原始圖像數(shù)據(jù)中的第二映射點(diǎn)b’,并根據(jù)圖4中點(diǎn)a’和點(diǎn)b’之間的位置關(guān)系確定點(diǎn)b’相對(duì)于點(diǎn)a’的第二偏移值,并且第二偏移值rowoffset=(x+7)/8字節(jié)。
步驟s303、依據(jù)所述第一偏移值和所述第二偏移值確定所述第二映射數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的第一個(gè)數(shù)據(jù)的第三偏移值,所述第三偏移值為所述目標(biāo)數(shù)據(jù)中除所述第一個(gè)數(shù)據(jù)之外的任一數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息。
根據(jù)點(diǎn)b’相對(duì)于點(diǎn)a’的第二偏移值和點(diǎn)a’相對(duì)于點(diǎn)0的第一偏移值可計(jì)算出點(diǎn)b’相對(duì)于點(diǎn)0的第三偏移值,第三偏移值等于第一偏移值offset加第二偏移值rowoffset,該第三偏移值為旋轉(zhuǎn)后圖像的第若干行即ab所在行中除所述第一個(gè)數(shù)據(jù)之外的任一數(shù)據(jù)相對(duì)于原始圖像數(shù)據(jù)的位置信息。
本發(fā)明實(shí)施例以處理后圖像數(shù)據(jù)的各行數(shù)據(jù)為目標(biāo)數(shù)據(jù),計(jì)算目標(biāo)數(shù)據(jù)中每個(gè)數(shù)據(jù)在原始圖像數(shù)據(jù)中的映射點(diǎn),并計(jì)算該映射點(diǎn)相對(duì)于原始圖像數(shù)據(jù)中第一個(gè)數(shù)據(jù)的偏移值,依據(jù)該偏移值從磁盤中存儲(chǔ)的原始圖像數(shù)據(jù)中獲取映射點(diǎn)對(duì)應(yīng)的數(shù)據(jù),避免圖像光柵化處理器從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度。
圖6為本發(fā)明另一實(shí)施例提供的圖像光柵化處理方法;圖7為本發(fā)明另一實(shí)施例提供的未裁剪圖像示意圖;圖8為本發(fā)明另一實(shí)施例提供的裁剪后圖像示意圖。在圖3對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的具體步驟如下:
步驟s601、獲取原始圖像數(shù)據(jù)和圖像操作指令,所述圖像操作指令包括旋轉(zhuǎn)指令和裁剪指令;
在上述實(shí)施例的基礎(chǔ)上,所述圖像操作指令具體包括旋轉(zhuǎn)指令和裁剪指令,裁剪指令具體包括裁剪區(qū)域。
步驟s602、依據(jù)所述裁剪指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行裁剪獲得有效圖像數(shù)據(jù);
如圖7所示,原始圖像為62,裁剪區(qū)域?yàn)?1,原始圖像62和裁剪區(qū)域61的重疊部分即為裁剪后的有效圖像,如圖8所示,有效圖像用63表示,另外,原始圖像對(duì)應(yīng)的數(shù)據(jù)為原始圖像數(shù)據(jù),有效圖像對(duì)應(yīng)的數(shù)據(jù)為有效圖 像數(shù)據(jù)。
步驟s603、依據(jù)所述旋轉(zhuǎn)指令對(duì)所述有效圖像數(shù)據(jù)進(jìn)行旋轉(zhuǎn)獲得所述處理后圖像數(shù)據(jù);
本發(fā)明實(shí)施例中的有效圖像63具體可以為圖4中的圖像,對(duì)有效圖像數(shù)據(jù)進(jìn)行旋轉(zhuǎn)獲得所述處理后圖像數(shù)據(jù)的過(guò)程同理于對(duì)圖4中的圖像進(jìn)行旋轉(zhuǎn)的過(guò)程,此處不再贅述。
步驟s604、計(jì)算所述處理后圖像數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息;
步驟s605、依據(jù)所述位置信息從所述原始圖像數(shù)據(jù)中讀取與所述位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù)。
步驟s604和步驟s605與上述實(shí)施例對(duì)應(yīng)的方法一致,此處不再贅述。
本發(fā)明實(shí)施例通過(guò)對(duì)原始圖像進(jìn)行裁剪,對(duì)裁剪后的圖像進(jìn)行旋轉(zhuǎn)可降低圖像光柵化處理器的數(shù)據(jù)處理量。
圖9為本發(fā)明另一實(shí)施例提供的圖像光柵化處理方法流程圖;圖10為本發(fā)明另一實(shí)施例提供的未旋轉(zhuǎn)圖像分段示意圖;圖11為本發(fā)明另一實(shí)施例提供的旋轉(zhuǎn)后圖像分段示意圖。在圖6對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的具體步驟如下:
步驟s901、獲取原始圖像數(shù)據(jù)和圖像操作指令,所述圖像操作指令包括旋轉(zhuǎn)指令和裁剪指令;
步驟s902、依據(jù)所述裁剪指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行裁剪獲得有效圖像數(shù)據(jù);
步驟s903、計(jì)算所述有效圖像數(shù)據(jù)占用內(nèi)存的大??;
在上述實(shí)施例的基礎(chǔ)上,計(jì)算有效圖像63的數(shù)據(jù)占用內(nèi)存的大小,具體的計(jì)算方法為依據(jù)公式s=w*h*b/8計(jì)算所述有效圖像數(shù)據(jù)占用內(nèi)存的大小s,其中,w表示所述有效圖像數(shù)據(jù)的寬度,h表示所述有效圖像數(shù)據(jù)的高度,b表示所述原始圖像數(shù)據(jù)的位深。
步驟s904、依據(jù)所述有效圖像數(shù)據(jù)占用內(nèi)存的大小和光柵圖像處理器中圖像緩沖區(qū)的大小計(jì)算分段數(shù)目;
依據(jù)有效圖像數(shù)據(jù)占用內(nèi)存的大小s和光柵圖像處理器中圖像緩沖區(qū)的大小buffersize計(jì)算所述分段數(shù)目的公式為n=(s+buffersize-1)/buffersize,其中, n表示所述分段數(shù)目。
步驟s905、依據(jù)所述分段數(shù)目對(duì)所述有效圖像數(shù)據(jù)進(jìn)行分段處理;
合理假設(shè),上述步驟計(jì)算出的分段數(shù)目為3,如圖10所示,將有效圖像63分為3段。
步驟s906、對(duì)分段處理后的有效圖像數(shù)據(jù)進(jìn)行旋轉(zhuǎn)獲得所述處理后圖像數(shù)據(jù),所述處理后圖像數(shù)據(jù)包括多個(gè)分段;
對(duì)分段處理后的有效圖像數(shù)據(jù)進(jìn)行旋轉(zhuǎn)獲得旋轉(zhuǎn)后的圖像64,旋轉(zhuǎn)后劃分的分段不變?nèi)鐖D11所示,。
步驟s907、計(jì)算所述處理后圖像數(shù)據(jù)的每個(gè)分段中每行數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息;
計(jì)算旋轉(zhuǎn)后的圖像64的每個(gè)分段中每行數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息,計(jì)算方法同理于圖3對(duì)應(yīng)的實(shí)施例所述的方法。
步驟s908、依據(jù)所述位置信息從所述原始圖像數(shù)據(jù)中讀取與所述位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù)。
本發(fā)明實(shí)施例通過(guò)對(duì)有效圖像數(shù)據(jù)進(jìn)行分段處理,減少圖像旋轉(zhuǎn)過(guò)程中所占用的內(nèi)存資源,降低了因內(nèi)存不足系統(tǒng)進(jìn)行頻繁的數(shù)據(jù)磁盤緩存造成的時(shí)間開(kāi)銷。
圖12為本發(fā)明實(shí)施例提供的圖像光柵化處理裝置的結(jié)構(gòu)圖。本發(fā)明實(shí)施例提供的圖像光柵化處理裝置可以執(zhí)行圖像光柵化處理方法實(shí)施例提供的處理流程,如圖12所示,圖像光柵化處理裝置120包括獲取模塊121、圖像處理模塊122、計(jì)算模塊123和讀取模塊124,其中,獲取模塊121用于獲取原始圖像數(shù)據(jù)和圖像操作指令;圖像處理模塊122用于依據(jù)所述圖像操作指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行處理獲得處理后圖像數(shù)據(jù);計(jì)算模塊123用于計(jì)算所述處理后圖像數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息;讀取模塊124用于依據(jù)所述位置信息從所述原始圖像數(shù)據(jù)中讀取與所述位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù)。
本發(fā)明實(shí)施例通過(guò)計(jì)算處理后圖像數(shù)據(jù)相對(duì)于原始圖像數(shù)據(jù)的位置信息,依據(jù)位置信息從原始圖像數(shù)據(jù)中讀取與位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù),不需從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤 中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度。
在上述實(shí)施例的基礎(chǔ)上,計(jì)算模塊123具體用于以所述處理后圖像數(shù)據(jù)的各行數(shù)據(jù)為目標(biāo)數(shù)據(jù),確定所述目標(biāo)數(shù)據(jù)的第一個(gè)數(shù)據(jù)在所述原始圖像數(shù)據(jù)中的第一映射數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的第一個(gè)數(shù)據(jù)的第一偏移值;確定所述目標(biāo)數(shù)據(jù)中除所述第一個(gè)數(shù)據(jù)之外的任一數(shù)據(jù)在所述原始圖像數(shù)據(jù)中的第二映射數(shù)據(jù)相對(duì)于所述第一映射數(shù)據(jù)的第二偏移值;依據(jù)所述第一偏移值和所述第二偏移值確定所述第二映射數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的第一個(gè)數(shù)據(jù)的第三偏移值,所述第三偏移值為所述目標(biāo)數(shù)據(jù)中除所述第一個(gè)數(shù)據(jù)之外的任一數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息。
所述圖像操作指令包括旋轉(zhuǎn)指令和裁剪指令;圖像處理模塊122具體用于依據(jù)所述裁剪指令對(duì)所述原始圖像數(shù)據(jù)進(jìn)行裁剪獲得有效圖像數(shù)據(jù);依據(jù)所述旋轉(zhuǎn)指令對(duì)所述有效圖像數(shù)據(jù)進(jìn)行旋轉(zhuǎn)獲得所述處理后圖像數(shù)據(jù)。
圖像處理模塊122還用于計(jì)算所述有效圖像數(shù)據(jù)占用內(nèi)存的大小;依據(jù)所述有效圖像數(shù)據(jù)占用內(nèi)存的大小和光柵圖像處理器中圖像緩沖區(qū)的大小計(jì)算分段數(shù)目;依據(jù)所述分段數(shù)目對(duì)所述有效圖像數(shù)據(jù)進(jìn)行分段處理;對(duì)分段處理后的有效圖像數(shù)據(jù)進(jìn)行旋轉(zhuǎn)獲得所述處理后圖像數(shù)據(jù),所述處理后圖像數(shù)據(jù)包括多個(gè)分段;計(jì)算模塊123具體用于計(jì)算所述處理后圖像數(shù)據(jù)的每個(gè)分段中每行數(shù)據(jù)相對(duì)于所述原始圖像數(shù)據(jù)的位置信息。
計(jì)算模塊123具體用于依據(jù)公式(1)計(jì)算所述有效圖像數(shù)據(jù)占用內(nèi)存的大?。?/p>
s=w*h*b/8(1)
其中,s表示所述有效圖像數(shù)據(jù)占用內(nèi)存的大小,w表示所述有效圖像數(shù)據(jù)的寬度,h表示所述有效圖像數(shù)據(jù)的高度,b表示所述原始圖像數(shù)據(jù)的位深;
依據(jù)公式(2)計(jì)算所述分段數(shù)目:
n=(s+buffersize-1)/buffersize(2)
其中,n表示所述分段數(shù)目,buffersize表示所述光柵圖像處理器中圖像緩沖區(qū)的大小。
本發(fā)明實(shí)施例提供的圖像光柵化處理裝置可以具體用于執(zhí)行上述圖1所提供的方法實(shí)施例,具體功能此處不再贅述。
本發(fā)明實(shí)施例以處理后圖像數(shù)據(jù)的各行數(shù)據(jù)為目標(biāo)數(shù)據(jù),計(jì)算目標(biāo)數(shù)據(jù)中每個(gè)數(shù)據(jù)在原始圖像數(shù)據(jù)中的映射點(diǎn),并計(jì)算該映射點(diǎn)相對(duì)于原始圖像數(shù)據(jù)中第一個(gè)數(shù)據(jù)的偏移值,依據(jù)該偏移值從磁盤中存儲(chǔ)的原始圖像數(shù)據(jù)中獲取映射點(diǎn)對(duì)應(yīng)的數(shù)據(jù),避免圖像光柵化處理器從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度;通過(guò)對(duì)原始圖像進(jìn)行裁剪,對(duì)裁剪后的圖像進(jìn)行旋轉(zhuǎn)可降低圖像光柵化處理器的數(shù)據(jù)處理量;通過(guò)對(duì)有效圖像數(shù)據(jù)進(jìn)行分段處理,減少圖像旋轉(zhuǎn)過(guò)程中所占用的內(nèi)存資源,降低了因內(nèi)存不足系統(tǒng)進(jìn)行頻繁的數(shù)據(jù)磁盤緩存造成的時(shí)間開(kāi)銷。
綜上所述,本發(fā)明實(shí)施例通過(guò)計(jì)算處理后圖像數(shù)據(jù)相對(duì)于原始圖像數(shù)據(jù)的位置信息,依據(jù)位置信息從原始圖像數(shù)據(jù)中讀取與位置信息對(duì)應(yīng)的目標(biāo)圖像數(shù)據(jù),不需從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度;以處理后圖像數(shù)據(jù)的各行數(shù)據(jù)為目標(biāo)數(shù)據(jù),計(jì)算目標(biāo)數(shù)據(jù)中每個(gè)數(shù)據(jù)在原始圖像數(shù)據(jù)中的映射點(diǎn),并計(jì)算該映射點(diǎn)相對(duì)于原始圖像數(shù)據(jù)中第一個(gè)數(shù)據(jù)的偏移值,依據(jù)該偏移值從磁盤中存儲(chǔ)的原始圖像數(shù)據(jù)中獲取映射點(diǎn)對(duì)應(yīng)的數(shù)據(jù),避免圖像光柵化處理器從磁盤中讀取旋轉(zhuǎn)圖像的每行數(shù)據(jù)相對(duì)于原始圖像的起始行和終止行并放入內(nèi)存,大大減低了內(nèi)存的占用率,同時(shí),圖像光柵化處理器只需從磁盤中讀取旋轉(zhuǎn)圖像的每個(gè)像素點(diǎn)在原始圖像中的映射點(diǎn),提高了圖像光柵化處理器的處理速度;通過(guò)對(duì)原始圖像進(jìn)行裁剪,對(duì)裁剪后的圖像進(jìn)行旋轉(zhuǎn)可降低圖像光柵化處理器的數(shù)據(jù)處理量;通過(guò)對(duì)有效圖像數(shù)據(jù)進(jìn)行分段處理,減少圖像旋轉(zhuǎn)過(guò)程中所占用的內(nèi)存資源,降低了因內(nèi)存不足系統(tǒng)進(jìn)行頻繁的數(shù)據(jù)磁盤緩存造成的時(shí)間開(kāi)銷。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或 一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本領(lǐng)域技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的裝置的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。