CN107018278A - 一种实现病案高清扫描的方法 - Google Patents
一种实现病案高清扫描的方法 Download PDFInfo
- Publication number
- CN107018278A CN107018278A CN201710229654.5A CN201710229654A CN107018278A CN 107018278 A CN107018278 A CN 107018278A CN 201710229654 A CN201710229654 A CN 201710229654A CN 107018278 A CN107018278 A CN 107018278A
- Authority
- CN
- China
- Prior art keywords
- scanning
- medical record
- photographing instrument
- high photographing
- scanned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/04—Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/40068—Modification of image resolution, i.e. determining the values of picture elements at new relative positions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种实现病案高清扫描的方法,包括选择一款600dpi分辨率的高拍仪,并将将高拍仪的数据线和电脑USB接口连接,安装高拍仪的驱动程序,安装完成后,找一处桌面光照均匀的地方将高拍仪摆放好,将需要扫描的病案平整放在高拍仪的摄像头下方,使用电脑上的软件对其进行扫描,扫描时,高拍仪中的灯管从摄像头处将光线照射到待扫描的病案上,光线反射后由cmos感光元件接收,但是由于图像色彩的深浅不一,使得反射光强度也各不相同,感光元件可以接收各种强度的光并转化为二进制的数字符号,最后由控制扫描的软件把这些数据还原为显示器上可以看到的图像,并存储在存储器中,后台采用多种算法对扫描图片进行处理,保证扫描件的高清晰度。
Description
技术领域
本发明涉及一种病案扫描技术,具体涉及一种实现病案高清扫描的方法。
背景技术
病案指按规范记录病人疾病表现和诊疗情况的档案,由医疗机构的病案管理部门按相关规定保存。不仅有纸质的,还有电子文档、医学影像检查胶片、病理切片等保存形式。指医务人员记录疾病诊疗过程的文件,它客观地、完整地、连续的记录了病人的病情变化、诊疗经过、治疗效果及最终转归,是医疗、教学、科研的基础资料,也是医学科学的原始档案材料,现有的病案都是通过扫描仪进行扫描转化为图片存储在电脑上,因病案的扫描量极大,扫描件的清晰度无法得到保证,但现有的技术很难克服上述问题。
发明内容
本发明要解决的技术问题是克服现有的的问题,提供一种实现病案高清扫描的方法。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明提供了一种实现病案高清扫描的方法,包括如下步骤:选择一款600dpi分辨率的高拍仪,并将将高拍仪的数据线和电脑USB接口连接,安装高拍仪的驱动程序,安装完成后,找一处桌面光照均匀的地方将高拍仪摆放好,将需要扫描的病案平整放在高拍仪的摄像头下方,使用电脑上的软件对其进行扫描,扫描时,高拍仪中的灯管从摄像头处将光线照射到待扫描的病案上,光线反射后由cmos感光元件接收,但是由于图像色彩的深浅不一,使得反射光强度也各不相同,感光元件可以接收各种强度的光并转化为二进制的数字符号,最后由控制扫描的软件把这些数据还原为显示器上可以看到的图像,并存储在存储器中。
作为本发明的一种优选技术方案,所述存储器中的图片将通过USB传输的方式上传到电脑中,再将其上传到服务器上,在服务器中采用最临近点插值算法、双线性插值算法、双立方插值算法、等多种算法对扫描图片进行处理。
作为本发明的一种优选技术方案,所述最临近点插值算法是当二维数字图像从源图像N*M被放为(j*N)*(k*M)目标图像是,参照数学斜率计算公式必然有:(X1-Xmin)/(Xmax-Xmin)=(Y1-Ymin)/(Ymax-Ymin),当Xmin和Ymin均为从零开始的像素点时,公式可以简化为:X=Y1(Xmax/Ymax),对于任意一幅源图像来说,假设放大后目标图像的宽为Dw高为Dh,任意目标像素点(Dx,Dy),在源图像上的位置为:Sx=Dx*(Sh/Dh)//row;Sy=Dy*(Sw/Dw)//column;其中,(Sx,Sy)为对于的源图像上的像素点,Sw和Sh分别为源图像的宽度和高度。最终有Dpixel(Dx,Dy)=Spixel(Sx,Sy)。
作为本发明的一种优选技术方案,所述双线性插值算法是对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),(其中i、j均为浮点坐标的整数部分,u、v为浮点坐标的小数部分,是取值[0,1)区间的浮点数),则这个像素得值f(i+u,j+v)可由原图像中坐标为(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1)其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。
作为本发明的一种优选技术方案,所述双立方插值算法涉及到16个像素点,其中(i’,j’)表示待计算像素点在源图像中的包含小数部分的像素坐标,dx表示X方向的小数坐标,dy表示Y方向的小数坐标,双立方插值是立方插值在二维空间的表达,插值公式可以表述为:G(x,y)=f(f(p00,p01,p02,p03,y),f(p10,p11,p12,p13,y),f(p20,p21,p22,p23,y),f(p30,p31,p32,p33,y),x)解出其中的16个参数,即可得带G(x,y)目标插值点的值。
本发明所达到的有益效果是:该方案是一种实现病案高清扫描的方法,该方案采用高拍仪进行纸质病案扫描,扫描后的病案图片将以文件的形式存储到服务器上,后台采用最临近点插值算法、双线性插值算法、双立方插值算法、最临近点插值缩放等多种算法对扫描图片进行处理,保证扫描件的高清晰度。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的实施模块示意图;
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
如图1所示,本发明提供一种实现病案高清扫描的方法,包括如下步骤:选择一款600dpi分辨率的高拍仪,并将将高拍仪的数据线和电脑USB接口连接,安装高拍仪的驱动程序,安装完成后,找一处桌面光照均匀的地方将高拍仪摆放好,将需要扫描的病案平整放在高拍仪的摄像头下方,使用电脑上的软件对其进行扫描,扫描时,高拍仪中的灯管从摄像头处将光线照射到待扫描的病案上,光线反射后由cmos感光元件接收,但是由于图像色彩的深浅不一,使得反射光强度也各不相同,感光元件可以接收各种强度的光并转化为二进制的数字符号,最后由控制扫描的软件把这些数据还原为显示器上可以看到的图像,并存储在存储器中。
存储器中的图片将通过USB传输的方式上传到电脑中,再将其上传到服务器上,在服务器中采用最临近点插值算法、双线性插值算法、双立方插值算法、等多种算法对扫描图片进行处理。
最临近点插值算法是当二维数字图像从源图像N*M被放为(j*N)*(k*M)目标图像是,参照数学斜率计算公式必然有:(X1-Xmin)/(Xmax-Xmin)=(Y1-Ymin)/(Ymax-Ymin),当Xmin和Ymin均为从零开始的像素点时,公式可以简化为:X=Y1(Xmax/Ymax),对于任意一幅源图像来说,假设放大后目标图像的宽为Dw高为Dh,任意目标像素点(Dx,Dy),在源图像上的位置为:Sx=Dx*(Sh/Dh)//row;Sy=Dy*(Sw/Dw)//column;其中,(Sx,Sy)为对于的源图像上的像素点,Sw和Sh分别为源图像的宽度和高度。最终有Dpixel(Dx,Dy)=Spixel(Sx,Sy)。
双线性插值算法是对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),(其中i、j均为浮点坐标的整数部分,u、v为浮点坐标的小数部分,是取值[0,1)区间的浮点数),则这个像素得值f(i+u,j+v)可由原图像中坐标为(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1)其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。
双立方插值算法涉及到16个像素点,其中(i’,j’)表示待计算像素点在源图像中的包含小数部分的像素坐标,dx表示X方向的小数坐标,dy表示Y方向的小数坐标,双立方插值是立方插值在二维空间的表达,插值公式可以表述为:G(x,y)=f(f(p00,p01,p02,p03,y),f(p10,p11,p12,p13,y),f(p20,p21,p22,p23,y),f(p30,p31,p32,p33,y),x)解出其中的16个参数,即可得带G(x,y)目标插值点的值。
需要说明的是,最临近点插值算法从BufferedImage对象中获取像素数组的代码如下:
int type=img.getType();
if(type==BufferedImage.TYPE_INT_ARGB||
type==BufferedImage.TYPE_INT_RGB){
img.getRaster().setDataElements(x,y,width,height,pixelsData);
}
else{
img.setRGB(x,y,width,height,pixelsData,0,width);
}
1
从源图像对象一维像素数组转换为三维对象数组,代码如下:
int[][][]tempData=new int[imgRows][imgCols][4];
tempData[row][col][0]=(aRow[col]>>24)&0xFF;//alpha
tempData[row][col][1]=(aRow[col]>>16)&0xFF;//red
tempData[row][col][2]=(aRow[col]>>8)&0xFF;//green
tempData[row][col][3]=(aRow[col])&0xFF;//blue
首先要计算行与列的缩放比例,计算代码如下:
float rowRatio=((float)srcH)/((float)destH);
float colRatio=((float)srcW)/((float)destW);
计算源像素点的行位置:
int srcRow=Math.round(((float)row)*rowRatio);
计算源像素点的列位置:
int srcCol=Math.round(((float)col)*colRatio);
程序源代码
public class NearNaighborZoom implements ImageScale{
public NearNaighborZoom(){
}
/**
*(X-Xmin)/(Xmax-Xmin)=(Y-Ymin)/(Ymax-Ymin)
*assume Xmin and Ymin are zero,then the formula will be f(x)=kx(k-coefficent,slope)
*
*/
@Override
public int[]imgScale(int[]inPixelsData,int srcW,int srcH,int destW,int destH){
int[][][]inputThreeDeminsionData=processOneToThreeDeminsion(inPixelsData,srcH,srcW);
int[][][]outputThreeDeminsionData=new int[destH][destW][4];
float rowRatio=((float)srcH)/((float)destH);
float colRatio=((float)srcW)/((float)destW);
for(int row=0;row<destH;row++){
//convert to three dimension data
int srcRow=Math.round(((float)row)*rowRatio);
if(srcRow>=srcH){
srcRow=srcH-1;
2
}
for(int col=0;col<destW;col++){
int srcCol=Math.round(((float)col)*colRatio);
if(srcCol>=srcW){
srcCol=srcW-1;
}
outputThreeDeminsionData[row][col][0]=inputThreeDeminsionData[srcRow][srcCol][0];//alpha
outputThreeDeminsionData[row][col][1]=inputThreeDeminsionData[srcRow][srcCol][1];//red
outputThreeDeminsionData[row][col][2]=inputThreeDeminsionData[srcRow][srcCol][2];//green
outputThreeDeminsionData[row][col][3]=inputThreeDeminsionData[srcRow][srcCol][3];//blue
}
}
return convertToOneDim(outputThreeDeminsionData,destW,destH);
}
/*<p>The purpose of this method is to convert the data in the 3Darray of ints back into</p>
*<p>the 1d array of type int.</p>
*
*/
public int[]convertToOneDim(int[][][]data,int imgCols,int imgRows){
//Create the 1D array of type int to be populated with pixel data
int[]oneDPix=new int[imgCols*imgRows*4];
//Move the data into the 1D array.Note the
//use of the bitwise OR operator and the
//bitwise left-shift operators to put the
//four 8-bit bytes into each int.
for(int row=0,cnt=0;row<imgRows;row++){
for(int col=0;col<imgCols;col++){
oneDPix[cnt]=((data[row][col][0]<<24)&0xFF000000)
|((data[row][col][1]<<16)&0x00FF0000)
|((data[row][col][2]<<8)&0x0000FF00)
|((data[row][col][3])&0x000000FF);
cnt++;
}//end for loop on col
}//end for loop on row
return oneDPix;
}//end convertToOneDim
private int[][][]processOneToThreeDeminsion(int[]oneDPix2,intimgRows,int imgCols){
int[][][]tempData=new int[imgRows][imgCols][4];
for(int row=0;row<imgRows;row++){
//per row processing
int[]aRow=new int[imgCols];
for(int col=0;col<imgCols;col++){
int element=row*imgCols+col;
aRow[col]=oneDPix2[element];
}
//convert to three dimension data
for(int col=0;col<imgCols;col++){
tempData[row][col][0]=(aRow[col]>>24)&0xFF;//alpha
tempData[row][col][1]=(aRow[col]>>16)&0xFF;//red
tempData[row][col][2]=(aRow[col]>>8)&0xFF;//green
tempData[row][col][3]=(aRow[col])&0xFF;//blue
}
}
return tempData;
}
双线性插值算法代码int x=(i+0.5)*m/a-0.5
int y=(j+0.5)*n/b-0.5
代替
int x=i*m/a
int y=j*n/b
所述双立方插值算法的JAVA源代码如下:
本发明所达到的有益效果是:该方案是一种实现病案高清扫描的方法,该方案采用高拍仪进行纸质病案扫描,扫描后的病案图片将以文件的形式存储到服务器上,后台采用最临近点插值算法、双线性插值算法、双立方插值算法、最临近点插值缩放等多种算法对扫描图片进行处理,保证扫描件的高清晰度。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种实现病案高清扫描的方法,其特征在于,包括如下步骤:选择一款600dpi分辨率的高拍仪,并将将高拍仪的数据线和电脑USB接口连接,安装高拍仪的驱动程序,安装完成后,找一处桌面光照均匀的地方将高拍仪摆放好,将需要扫描的病案平整放在高拍仪的摄像头下方,使用电脑上的软件对其进行扫描,扫描时,高拍仪中的灯管从摄像头处将光线照射到待扫描的病案上,光线反射后由cmos感光元件接收,但是由于图像色彩的深浅不一,使得反射光强度也各不相同,感光元件可以接收各种强度的光并转化为二进制的数字符号,最后由控制扫描的软件把这些数据还原为显示器上可以看到的图像,并存储在存储器中。
2.根据权利要求1所述的一种实现病案高清扫描的方法,其特征在于,所述存储器中的图片将通过USB传输的方式上传到电脑中,再将其上传到服务器上,在服务器中采用最临近点插值算法、双线性插值算法、双立方插值算法、等多种算法对扫描图片进行处理。
3.根据权利要求2所述的一种实现病案高清扫描的方法,其特征在于,所述最临近点插值算法是当二维数字图像从源图像N*M被放为(j*N)*(k*M)目标图像是,参照数学斜率计算公式必然有:(X1-Xmin)/(Xmax-Xmin)=(Y1-Ymin)/(Ymax-Ymin),当Xmin和Ymin均为从零开始的像素点时,公式可以简化为:X=Y1(Xmax/Ymax),对于任意一幅源图像来说,假设放大后目标图像的宽为Dw高为Dh,任意目标像素点(Dx,Dy),在源图像上的位置为:Sx=Dx*(Sh/Dh)//row;Sy=Dy*(Sw/Dw)//column;其中,(Sx,Sy)为对于的源图像上的像素点,Sw和Sh分别为源图像的宽度和高度;最终有Dpixel(Dx,Dy)=Spixel(Sx,Sy)。
4.根据权利要求2所述的一种实现病案高清扫描的方法,其特征在于,所述双线性插值算法是对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),(其中i、j均为浮点坐标的整数部分,u、v为浮点坐标的小数部分,是取值[0,1)区间的浮点数),则这个像素得值f(i+u,j+v)可由原图像中坐标为(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1)其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。
5.根据权利要求2所述的一种实现病案高清扫描的方法,其特征在于,所述双立方插值算法涉及到16个像素点,其中(i’,j’)表示待计算像素点在源图像中的包含小数部分的像素坐标,dx表示X方向的小数坐标,dy表示Y方向的小数坐标,双立方插值是立方插值在二维空间的表达,插值公式可以表述为:G(x,y)=f(f(p00,p01,p02,p03,y),f(p10,p11,p12,p13,y),f(p20,p21,p22,p23,y),f(p30,p31,p32,p33,y),x)解出其中的16个参数,即可得带G(x,y)目标插值点的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710229654.5A CN107018278A (zh) | 2017-04-10 | 2017-04-10 | 一种实现病案高清扫描的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710229654.5A CN107018278A (zh) | 2017-04-10 | 2017-04-10 | 一种实现病案高清扫描的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107018278A true CN107018278A (zh) | 2017-08-04 |
Family
ID=59446151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710229654.5A Pending CN107018278A (zh) | 2017-04-10 | 2017-04-10 | 一种实现病案高清扫描的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107018278A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107869955A (zh) * | 2017-10-24 | 2018-04-03 | 华朗三维技术(深圳)有限公司 | 一种激光三维扫描仪系统及使用方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202435486U (zh) * | 2012-01-16 | 2012-09-12 | 王应华 | 一种数影仪 |
CN103442155A (zh) * | 2013-08-28 | 2013-12-11 | 徐州市微网网络技术有限公司 | 高清晰度拍摄仪 |
CN104717467A (zh) * | 2015-03-05 | 2015-06-17 | 广州市吉星信息科技有限公司 | 无线现场教学系统 |
CN105528531A (zh) * | 2016-03-14 | 2016-04-27 | 上海瑞一互联网科技有限公司 | 一种远程医疗系统 |
-
2017
- 2017-04-10 CN CN201710229654.5A patent/CN107018278A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202435486U (zh) * | 2012-01-16 | 2012-09-12 | 王应华 | 一种数影仪 |
CN103442155A (zh) * | 2013-08-28 | 2013-12-11 | 徐州市微网网络技术有限公司 | 高清晰度拍摄仪 |
CN104717467A (zh) * | 2015-03-05 | 2015-06-17 | 广州市吉星信息科技有限公司 | 无线现场教学系统 |
CN105528531A (zh) * | 2016-03-14 | 2016-04-27 | 上海瑞一互联网科技有限公司 | 一种远程医疗系统 |
Non-Patent Citations (1)
Title |
---|
卢君等: "插值算法在图像缩放中的评估研究", 《同媒科技》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107869955A (zh) * | 2017-10-24 | 2018-04-03 | 华朗三维技术(深圳)有限公司 | 一种激光三维扫描仪系统及使用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang | Image processing | |
Russ et al. | Introduction to image processing and analysis | |
Solomon et al. | Fundamentals of Digital Image Processing: A practical approach with examples in Matlab | |
Gaiani et al. | An advanced pre-processing pipeline to improve automated photogrammetric reconstructions of architectural scenes | |
EP0046988B1 (en) | Method for lightness imaging | |
TWI464706B (zh) | 以單張影像模擬高動態範圍之暗部曝光補償方法及其應用該方法的影像處理裝置 | |
US5995138A (en) | Transparency film digitizer peripheral and transparency film image management and communication system for internet | |
CN108446596A (zh) | 基于可见光相机矩阵的虹膜3d四维数据采集系统及方法 | |
AU2013258866B2 (en) | Reducing the dynamic range of image data | |
CN108053363A (zh) | 背景虚化处理方法、装置及设备 | |
CN111768452A (zh) | 一种基于深度学习的非接触式自动贴图方法 | |
JP2018536211A5 (zh) | ||
WO2019198570A1 (ja) | 映像生成装置、映像生成方法、プログラム、およびデータ構造 | |
JP2021189527A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN107018278A (zh) | 一种实现病案高清扫描的方法 | |
CN109191398A (zh) | 图像处理方法、装置、计算机可读存储介质和电子设备 | |
JP4392082B2 (ja) | 彫版風ハーフトーン画像生成方法・装置 | |
Zhang | A selection of image processing techniques: from fundamentals to research front | |
US20200219329A1 (en) | Multi axis translation | |
WO2013190645A1 (ja) | 自動画像合成装置 | |
Lee et al. | Enhancement of three-dimensional image visualization under photon-starved conditions | |
CN115937031A (zh) | 一种针对低光照图像的增强方法 | |
Liu et al. | Anti-shake HDR imaging using raw image data | |
CN103814395A (zh) | 使x射线从图像适应于x射线主图像 | |
CN112991174A (zh) | 一种提高单帧红外图像分辨率的方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170804 |
|
WD01 | Invention patent application deemed withdrawn after publication |