当前位置:首页 > 代码 > 正文

图像代码(matlab画函数图像代码)

admin 发布:2022-12-19 05:33 132


本篇文章给大家谈谈图像代码,以及matlab画函数图像代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

matlab图像如何用代码完成图像的分割、边缘检测和拼接的任务?

你可以试试下面的程序:\x0d\x0aI=imread('myphoto.jpg'); % 假设要处理的图像是myphoto.jpg\x0d\x0aheights=size(I,1); % 图像的高\x0d\x0awidths=size(I,2); % 图像的宽\x0d\x0am=8; % 假设纵向分成8幅图\x0d\x0an=10; % 假设横向分成10幅图\x0d\x0a% 考虑到rows和cols不一定能被m和n整除,所以对行数和列数均分后要取整\x0d\x0arows=round(linspace(0,heights,m+1)); % 各子图像的起始和终止行标\x0d\x0acols=round(linspace(0,widths,n+1)); % 各子图像的起始和终止列标\x0d\x0ablocks=cell(m,n); % 用一个单元数组容纳各个子图像\x0d\x0afor k1=1:m\x0d\x0a for k2=1:n\x0d\x0a blocks{k1,k2}=I(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:);\x0d\x0a subimage=blocks{k1,k2};\x0d\x0a % 以下是对subimage进行边缘检测\x0d\x0a % 加入边缘检测的代码\x0d\x0a % 以上是对subimage进行边缘检测\x0d\x0a blocks{k1,k2}=subimage;\x0d\x0a end\x0d\x0aend\x0d\x0aprocessed=I; % processed为处理后的图像,用原图像对其初始化\x0d\x0a% 以下为拼接图像\x0d\x0afor k1=1:m\x0d\x0a for k2=1:n\x0d\x0a processed(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:)=blocks{k1,k2};\x0d\x0a end\x0d\x0aend\x0d\x0afigure,imshow(processed)\x0d\x0a% 以上的程序已测试过,对灰度图像和真彩图像都可以运行。

matlab有关图像的程序代码

M=imread('dl011.jpg') %读取MATLAB中的名为cameraman的图像

subplot(3,3,1)

imshow(M) %显示原始图像

title('original')

P1=imnoise(M,'gaussian',0.02) %加入高斯躁声

subplot(3,3,2)

imshow(P1) %加入高斯躁声后显示图像

title('gaussian noise');

P2=imnoise(M,'salt pepper',0.02) %加入椒盐躁声

subplot(3,3,3)

imshow(P2) %%加入椒盐躁声后显示图像

title('salt pepper noise');

g=medfilt2(P1) %对高斯躁声中值滤波

subplot(3,3,5)

imshow(g)

title('medfilter gaussian')

h=medfilt2(P2) %对椒盐躁声中值滤波

subplot(3,3,6)

imshow(h)

title('medfilter salt pepper noise')

l=[1 1 1 %对高斯躁声算术均值滤波

1 1 1

1 1 1];

l=l/9;

k=conv2(P1,l)

subplot(3,3,8)

imshow(k,[])

title('arithmeticfilter gaussian')

%对椒盐躁声算术均值滤波

d=conv2(P2,l)

subplot(3,3,9)

imshow(d,[])

title('arithmeticfilter salt pepper noise')

我自己给你写的几个简单加噪声去噪声的函数使用.

python图像处理代码,望大神详细解释。越详细越好

#初始化一个矩形np.max(marks)+1行,3列,默认值为0

colorTab = np.zeros((np.max(marks)+1,3))

#遍历数组,给每行的3列赋值,就是RGB颜色值,8位的

for i in range(len(colorTab)):

    aa = np.random.uniform(0,255)

    bb = np.random.uniform(0,255)

    cc = np.random.uniform(0,255)

    colorTab[i] = np.array([aa,bb,cc],np.uint8)

#初始化另一个跟img图像形状大小一样的图像,一副黑色图像

bgrImage = np.zeros(img.shape,np.uint8)

#遍历marks形状的行列

for i in range(marks.shape[0]):

    for j in range(marks.shape[1]):

        index = marks[i][j]

        #判断是不是区域与区域之间的分界,如果是边界(-1),则使用白色显示

        if index == -1:

            bgrImage[i][j] = np.array([255,255,255]) #像素点设置位白色

        else:

            bgrImage[i][j] = colorTab[index]    #像素点设置位上边随机生成的颜色值

#显示处理后的图像图像

cv2.imshow('After ColorFill',bgrImage)

#总结,先生成一个跟marks相同数量的row*col的一张颜色表,然后创建一个跟marks相同大小的一副黑色图像

#最后对黑色图像画出白色边界和内部随机彩色像素值

数字图像处理求解 MATLAB代码

Image=imread('原图像');

subplot(2,2,1)

imshow(Image);

title('原图');

Spectrum=fft2(Image);

subplot(2,2,2)

imshow(Spectrum);

title('FFT 变换结果');

subplot(2,2,3)

Spectrum=fftshift(Spectrum);

imshow(Spectrum);

title('零点平移');

subplot(2,2,4)

imshow(log(abs(Spectrum)),[]);

title('系数分布图');

%低通滤波

figure; %建立一张空白图纸

subplot(2,2,1)

imshow(log(abs(Spectrum)),[]);

title('系数分布图');

Filter=zeros(180,240); %滤波数组赋初值,全零;自己根据图像的分辨率来确定,如180*240

r=50; %滤波窗口半径,从中心到半径窗口内滤波数组赋值1

for i=(180/2-r+1):(180/2+r);

for j=(240/2-r+1):(240/2+r);

Filter(i,j)=1;

end;

end;

subplot(2,2,2)

imshow(Filter,[]);

title('滤波窗口');

SpectrumN=Filter.*Spectrum; %频谱与滤波模板卷积

subplot(2,2,3)

imshow(log(abs(SpectrumN)),[]);

title('滤波后频谱');

SpectrumN=ifftshift(SpectrumN);

I2=ifft2(SpectrumN);

subplot(2,2,4)

imshow(abs(I2),[]);

title('反变换图像');

这是我们以前做实验时用的程序,用的傅里叶变换,你稍微改动下应该就行了~

VB图像保存程序代码

因为默认的保存无论你选择什么格式后缀,其实都是bmp位图,你看文件尺寸就知道了。

通常保存图片代码:(默认pictrebox名称)

dim filepath as string

SavePicture Picture1.Image,filepath

当然,filepath路径的获得你可以用对话框确定一下。

我要给你的代码是可以保存多种格式的。需要添加一个模块,模块代码最后贴

调用示范:

'先正常保存文件

Dim fileStr As String

fileStr = App.Path  "\temp\mymp.gif"    '定义临时文件,并检查是否有同名文件,有则清除

If Dir(fileStr)  "" Then Kill fileStr

SavePicture Picture1.Image, fileStr

'再转换格式,这里转成gif

Dim stdpic As StdPicture

Set stdpic = LoadPicture(fileStr)

Call SavePic(stdpic, fileStr, ".gif")

Set stdpic = Nothing

'模块代码:

Private Type GUID

    Data1 As Long

    Data2 As Integer

    Data3 As Integer

    Data4(0 To 7) As Byte

End Type

Private Type GdiplusStartupInput

    GdiplusVersion As Long

    DebugEventCallback As Long

    SuppressBackgroundThread As Long

    SuppressExternalCodecs As Long

End Type

Private Type EncoderParameter

    GUID As GUID

    NumberOfValues As Long

    type As Long

    Value As Long

End Type

Private Type EncoderParameters

    count As Long

    Parameter As EncoderParameter

End Type

Private Declare Function GdiplusStartup Lib "GDIPlus" (token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As Long

Private Declare Function GdiplusShutdown Lib "GDIPlus" (ByVal token As Long) As Long

Private Declare Function GdipCreateBitmapFromHBITMAP Lib "GDIPlus" (ByVal hbm As Long, ByVal hPal As Long, BITMAP As Long) As Long

Private Declare Function GdipDisposeImage Lib "GDIPlus" (ByVal Image As Long) As Long

Private Declare Function GdipSaveImageToFile Lib "GDIPlus" (ByVal Image As Long, ByVal FileName As Long, clsidEncoder As GUID, encoderParams As Any) As Long

Private Declare Function CLSIDFromString Lib "ole32" (ByVal Str As Long, id As GUID) As Long

Private Declare Function CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb As Long) As Long

'*************************************************************************

'**    作    者 :    laviewpbt

'**    函 数 名 :    SavePic

'**    输    入 :    pic(StdPicture)        -   图象句柄

'**             :    FileName(String)       -   保存路径

'**             :    Quality(Byte)          -   JPG图象质量

'**             :    TIFF_ColorDepth(Long)  -   TTF格式的颜色深度

'**             :    TIFF_Compression(Long) -   TTF格式的压缩比

'**    输    出 :    无

'**    功能描述 :    把图象保存为JPG、TIFF、PNG、GIF、BMP格式

'**    日    期 :

'**    修 改 人 :    laviewpbt

'**    日    期 :    2005-10-23 14.43.52

'**    版    本 :    Version 1.2.1

'*************************************************************************

Public Sub SavePic(ByVal pict As StdPicture, ByVal FileName As String, PicType As String, _

                    Optional ByVal Quality As Byte = 80, _

                    Optional ByVal TIFF_ColorDepth As Long = 24, _

                    Optional ByVal TIFF_Compression As Long = 6)

   Screen.MousePointer = vbHourglass

   Dim tSI As GdiplusStartupInput

   Dim lRes As Long

   Dim lGDIP As Long

   Dim lBitmap As Long

   Dim aEncParams() As Byte

   On Error GoTo ErrHandle:

   tSI.GdiplusVersion = 1   ' 初始化 GDI+

   lRes = GdiplusStartup(lGDIP, tSI)

   If lRes = 0 Then     ' 从句柄创建 GDI+ 图像

      lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap)

      If lRes = 0 Then

         Dim tJpgEncoder As GUID

         Dim tParams As EncoderParameters    '初始化解码器的GUID标识

         Select Case PicType

         Case ".jpg"

            CLSIDFromString StrPtr("{557CF401-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder

            tParams.count = 1                               ' 设置解码器参数

            With tParams.Parameter ' Quality

               CLSIDFromString StrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"), .GUID    ' 得到Quality参数的GUID标识

               .NumberOfValues = 1

               .type = 4

               .Value = VarPtr(Quality)

            End With

            ReDim aEncParams(1 To Len(tParams))

            Call CopyMemory(aEncParams(1), tParams, Len(tParams))

        Case ".png"

             CLSIDFromString StrPtr("{557CF406-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder

             ReDim aEncParams(1 To Len(tParams))

        Case ".gif"

             CLSIDFromString StrPtr("{557CF402-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder

             ReDim aEncParams(1 To Len(tParams))

        Case ".tiff"

             CLSIDFromString StrPtr("{557CF405-1A04-11D3-9A73-0000F81EF32E}"), tJpgEncoder

             tParams.count = 2

             ReDim aEncParams(1 To Len(tParams) + Len(tParams.Parameter))

             With tParams.Parameter

                .NumberOfValues = 1

                .type = 4

                 CLSIDFromString StrPtr("{E09D739D-CCD4-44EE-8EBA-3FBF8BE4FC58}"), .GUID    ' 得到ColorDepth参数的GUID标识

                .Value = VarPtr(TIFF_Compression)

            End With

            Call CopyMemory(aEncParams(1), tParams, Len(tParams))

            With tParams.Parameter

                .NumberOfValues = 1

                .type = 4

                 CLSIDFromString StrPtr("{66087055-AD66-4C7C-9A18-38A2310B8337}"), .GUID    ' 得到Compression参数的GUID标识

                .Value = VarPtr(TIFF_ColorDepth)

            End With

            Call CopyMemory(aEncParams(Len(tParams) + 1), tParams.Parameter, Len(tParams.Parameter))

        Case ".bmp"                                               '可以提前写保存为BMP的代码,因为并没有用GDI+

            SavePicture pict, FileName

            Screen.MousePointer = vbDefault

            Exit Sub

        End Select

         lRes = GdipSaveImageToFile(lBitmap, StrPtr(FileName), tJpgEncoder, aEncParams(1))           '保存图像

         GdipDisposeImage lBitmap       ' 销毁GDI+图像

      End If

      GdiplusShutdown lGDIP              '销毁 GDI+

   End If

   Screen.MousePointer = vbDefault

   Erase aEncParams

   Exit Sub

ErrHandle:

    Screen.MousePointer = vbDefault

    MsgBox "在保存图片的过程中发生错误:"  vbCrLf  vbCrLf  "错误号:  "  Err.Number  vbCrLf  "错误描述:  "  Err.Description, vbInformation Or vbOKOnly, "错误"

End Sub

照片处理程序代码

-C++。

图片处理代码:

#include

#include

#include

#include

#include

#include

#include

#include 。

该模块是完成BMP图像(彩色图像是24bit RGB各8bit)的像素获取,并存在文件名为xiang_su_zhi.txt中

unsigned char *pBmpBuf;//读入图像数据的指针

int bmpWidth;//图像的宽

int bmpHeight;//图像的高

RGBQUAD *pColorTable;//颜色表指针

int biBitCount;//图像类型,每像素位数。//读图像的位图数据、宽、高、颜色表及每像素位数等数据进内存,存放在相应的全局变量中

bool readBmp(char *bmpName){FILE *fp=fopen(bmpName,"rb");//二进制读方式打开指定的图像文件

if(fp==0)

return 0;

//跳过位图文件头结BITMAPFILEHEADERfseek(fp, sizeof(BITMAPFILEHEADER),0);//定义位图信息头结构变量,读取位图信息头进内存,存放在变量head中BITMAPINFOHEADER head;fread(head, sizeof(BITMAPINFOHEADER), 1,fp); //获取图像宽、高、每像素所占位数等信息bmpWidth = head.biWidth;bmpHeight = head.biHeight;biBitCount = head.biBitCount;//定义变量,计算图像每行像素所占的字节数(必须是4的倍数)int lineByte=(bmpWidth * biBitCount/8+3)/4*4;//灰度图像有颜色表,且颜色表表项为256if(biBitCount==8)。

图像代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于matlab画函数图像代码、图像代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/3173.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载