2023年深圳杯数学建模B题电子资源版权保护问题解题全过程文档及程序

发布时间:2026/8/11 16:35:36
2023年深圳杯数学建模B题电子资源版权保护问题解题全过程文档及程序 2023年深圳杯数学建模B题 电子资源版权保护问题原题再现版权又称著作权包括发表权、署名权、修改权、保护作品完整权、复制权、发行权、出租权、展览权、表演权、放映权、广播权、信息网络传播权、摄制权、改编权、翻译权、汇编权及应当由著作权人享有的其他权利。在计算机网络广泛应用的今天越来越多电子资源会通过网络进行快速传递。与此同时如何保护电子资源的著作权问题也渐渐变得至关重要。这一问题也是信息安全领域中的关键问题之一。数字水印electronic water mark技术是解决这一问题的关键技术之一。但因为可见水印visible watermarking在应用于电子图片著作权保护时往往会破坏图片自身的结构并且因嵌入信息可见而容易被识别剔除。因此隐写术steganography被广为关注和使用。隐写术一般被认为是信息隐藏学的一个重要分支它专门研究如何隐藏实际存在的信息。隐写术有悠久的历史部分案例甚至可追溯到公元前数百年。随着计算机和互联网技术的高速发展近代隐写技术的研究被认为大约起始于20世纪90年代。因为隐写技术能将特定信息嵌入信息载体且不易被察觉所以它可被广泛地应用于著作权保护、数据附加等领域。问题1 针对附件1的图片P建立生成嵌入信息深圳杯数学建模挑战赛的图片SP的数学模型使得图片SP在人的视觉上尽可能与原图P相近。设计并实现生成图片SP的算法将生成SP源代码和结果图片SP置于参赛作品的附录A中给出从图片SP提取著作权信息使用的源代码并置于参赛作品的附录B中。问题2 使用问题1中的模型与算法能否将《中华人民共和国著作权法》第三次修正案[1]中的所有文字信息嵌入附件1的图片中如果不能最多能嵌入多少问题3 在电子图片传递的过程中可能会被压缩或以不同的图片格式存储也可能会被缩放、旋转或其他几何变形等。此时问题1中的算法是否仍然可用如果不能用如何改进问题4 若要保护其他电子图片的著作权使用问题1中的算法时应注意什么请给出最多3条注意事项并说明理由。整体求解过程概述(摘要)在当今广泛应用计算机网络的时代电子资源的快速网络传递日益普遍。与此同时保护电子资源的著作权问题也逐渐成为至关重要的议题在信息安全领域占据关键地位。数字图像隐写是一种将信息隐藏在数字图像中的技术这种技术可以用于各种安全和隐私保护应用。本文从数字图像的全局和局部统计分布特性两个方面出发系统地探讨了数字图像隐写的发展情况。依据图像分析技术和LSB原理考虑如何对已知图片建立嵌入图片、信息时的模型考虑在信息传递过程中受到外界影响时如何改进模型具体做法如下针对问题一首先我们使用工具如MATLAB对附件1中的图片P进行分析以深入了解其像素分布、色彩特征、纹理特性等。我们必须仔细考虑将信息嵌入到图片P中的位置、方法以及嵌入的信息量。可以通过微调像素颜色分布或像素值来实现嵌入以尽量减小对视觉效果的影响。其次基于前文的图像分析结果我们可以建立LSB方法的数学模型将信息嵌入方案形式化以生成嵌有信息的图片SP。根据这个模型我们可以编写代码并生成所需的结果图像并从结果图像提取嵌入信息。最后我们需要进行相似度检验计算原始图像与嵌入信息图像之间的均方误差MSE和结构相似性指数SSIM等值分别为0.53和0.999说明我们的隐写技术未破坏原始图像的结构特征。对于问题二首先我们将《中华人民共和国著作权法》第三次修正案的文本信息存储为txt文件评估字节数或字符数。其次对《中华人民共和国著作权法》第三次修正案的文本信息进行编码转换可知最终生成的349952个位二进制数据远小于图片可供存储的位数7280640因此能将《中华人民共和国著作权法》第三次修正案中的所有文本信息嵌入附件1的图片中使用问题一的LSB方法将文本信息嵌入图像的像素中。最后生成嵌入文本信息的结果图像并进行视觉分析对比嵌入前后的图像评估潜在的视觉失真。使用相同地隐写技术从嵌入后的图像中提取文本信息进行解码和还原。针对问题三在信息传递过程中应考虑压缩、格式变换、缩放、旋转或其他几何变形等操作导致的嵌入和提取信息的困难。我们希望采用一种称为“鲁棒”的信息隐藏技术改进我们的算法因此我们在问题一的基础上提出了一些可能的改进方法1使用更复杂的嵌入技术2使用错误纠正编码3使用水印技术4使用更强大的机器学习方法。本文选择水印技术进行信息嵌入算法的改进。首先通过离散余弦变换DCT的暗水印技术进行信息嵌入使得图像经其他处理后仍能提取出隐藏的信息以改进LSB方法的不足。其次对图片进行8×8分块再对子块进行水印的提取。此时进行Arnold逆变换实现水印信息的揭秘复原最终提取出水印图片。针对问题四我们根据LSB算法的不足在选择合适的嵌入位置、保护嵌入信息的安全性以及避免过度嵌入这三方面提出注意事项。模型假设在进行图像的操作过程中我们结合相关文献给出以下假设假设1附件1中的图片P是未经过重大变形或处理的原始图片。假设2图片P用数字矩阵的形式表示每个像素值在0~255范围内没有信息的损失。假设3算法嵌入的信息以文本形式存在时我们可以将其转化为适当的数据格式以进行嵌入。假设4嵌入算法的调整不会引起明显的视觉变化或损害。假设5附件1的图片格式和质量不会影响算法的可行性。假设6预处理过程可能会在一定程度上抵消传递过程中的变形影响但不一定能完全恢复原始状态。假设7问题1中的算法在发生轻微缩放或旋转等小范围变形时可能仍然有效但在较大程度变形时可能需要调整。假设8算法应该在信息嵌入和视觉质量之间取得平衡以确保嵌入信息的可读性和图片的外观。假设9算法具备一定程度的鲁棒性能够在轻微的处理和变形情况下保持嵌入信息的稳定性。这些假设为我们在解决问题时提供了指导和基础。在实际的解决问题的过程中我们将对这些假设进行验证和调整以确保所设计的算法在不同情况下的可靠性和有效性。问题分析问题一分析问题一的第一个问题要求基于附件1的图片P构建一个生成图片SP的数学模型其中SP包含嵌入了“深圳杯数学建模挑战赛”信息同时确保在人的视觉感知下SP与原图P尽可能相似。问题一的第二个问题要求设计并实现一个能够生成图片SP的算法。该算法需要将生成SP的源代码以及生成的结果图片SP都放置于参赛作品的附录A中。另外还需要提供从图片SP中提取著作权信息所使用的源代码并将其置于参赛作品的附录B中。问题一的核心目标是通过嵌入信息的方式生成一张新的图片SP使得这张图片在人的视觉上尽可能与原始图片P相近同时确保嵌入的信息不会对图片的视觉质量产生明显影响。为了解决这个问题我们需要进行以下详细的问题分析首先我们需要对附件1中的图片P进行分析使用MATLAB工具对图片P进行处理了解其像素分布、色彩特征、纹理特征等。这有助于我们确定如何在图片中进行信息嵌入以及如何在生成图片SP时保持相似的视觉效果。要将深圳杯数学建模挑战赛信息嵌入到图片P中需要考虑嵌入的位置、方式以及嵌入的信息量。我们可以利用像素的颜色分布或像素值的微调来实现嵌入以尽可能地减小对视觉效果的影响。最后设计出一个算法建立LSB方法[3]的数学模型基于前面的信息嵌入方案将生成图片SP的过程形式化。这个算法需要考虑如何在保持图片相似性的同时进行信息嵌入。要注意调整像素值时的阈值以避免引起明显的视觉差异。在问题一的解答过程中我们将遵循这些要求确保所提供的模型、算法和代码都能够满足问题的目标并在附录部分提供相关内容。这样读者可以全面了解我们的方法和技术验证其有效性并对结果进行评估。问题二分析问题二要求我们使用问题1中的模型与算法能否将《中华人民共和国著作权法》第三次修正案中的所有文字信息嵌入附件1的图片中如果不能需要给出能嵌入多少字。文本信息的容量通常以字节为单位进行计算而图像的容量通常以像素为单位进行计算。文本信息的嵌入需要足够的像素来隐藏而像素数量决定了能够嵌入的文本容量[7]。问题一的方法是通过改变像素的最低有效位LSB来嵌入信息[5]因为改变最低位通常对图像的视觉影响较小。然而这种方法有其限制嵌入大量文本可能会导致图像中的视觉失真。图像的特性如分辨率、色彩深度等会影响能够嵌入的文本容量。更高分辨率和色彩深度的图像通常具有更多的像素从而具有更大的潜在嵌入空间。文本嵌入图像时通常需要将文本信息进行编码例如使用ASCII编码、UTF-8编码等。编码会影响实际嵌入容量因为某些编码方式可能需要更多的位来表示字符。综上所述问题二的分析将涉及对附件1的图像属性、文本信息的容量以及嵌入技术的合理性进行综合考虑。最终能够嵌入的文本容量取决于图像的特性以及隐写技术的应用方式。如果要精确地确定能够嵌入多少文本需要对图像和文本进行详细的分析和实验。问题三分析问题一中的算法在图像传递过程中经历了压缩、格式变换、缩放、旋转或其他几何变形等操作后可能会遇到一些挑战导致嵌入和提取信息的困难。图像压缩可能会导致原始图像中的LSB信息丢失嵌入的信息变得不可读或无法提取。如果图像需要压缩可以在压缩之前先嵌入信息然后再进行压缩。这样可以减少信息丢失的可能性。不同的图片格式可能使用不同的压缩算法和颜色空间嵌入信息的方式可能会受到格式变换的影响。在格式变换之前可以将图像还原为原始格式再嵌入信息。然后再将其转换为所需的格式。缩放、旋转和几何变形这些操作可能导致像素值的变化影响信息的嵌入和提取。在进行这些操作之前可以记录图像的原始状态包括像素值和位置。然后应用这些变换后再将信息嵌入到已变换的图像中。在提取信息时需要对变换进行反向操作以还原原始图像的状态。在图像经历多次变换和处理后可能会引入噪声或其他视觉问题使得信息的嵌入和提取更加困难。使用更稳健的隐写技术可以容忍一定程度的图像变化和质量损失。此外可以进行更严格的质量控制以确保在图像传递过程中尽量减小视觉损失。在图像传递过程中可能会出现数据传输错误或丢失导致信息不完整。为了保证信息的完整性可以在信息嵌入时添加错误检测和纠正码以检测和修复在传递过程中引入的错误。总之问题1中的算法在图像传递过程中可能需要针对不同情况进行适应和改进。重要的是根据具体情况综合考虑图像处理操作、数据完整性、加密和隐写技术以确保信息的可靠嵌入和提取。随着图像传递过程中涉及的操作增多需要更多的注意和技术手段来处理潜在的问题。问题四分析在使用最低有效位LSB隐写技术进行信息嵌入时首先需要注意的是隐蔽性和安全性。确保嵌入的信息不会在视觉上或统计上引起异常避免泄露信息的存在。对敏感信息进行加密然后再嵌入以增加信息的安全性。其次是容量与质量平衡。根据需求选择适当的容量嵌入过多信息可能导致图像质量下降容易被察觉。在嵌入信息前后进行图像质量评估确保不会引起明显的视觉损失。再次是随机性和伪装。随机选择LSB嵌入的位置而不是在固定的位置进行嵌入以增加隐蔽性。在信息嵌入之前可以在LSB位置上加入随机噪声或微小的变化以使嵌入更难被检测。最后要考虑的是检测和提取。记录或嵌入元数据以标识图像中嵌入信息的存在以便在需要时提取。嵌入前可以添加错误检测和纠正码以确保信息在提取时的完整性和正确性。模型的建立与求解整体论文缩略图全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可程序代码%像素分布 Aimread(b.jpg);%get the histogram[Y,X]size(A);%Y Row,X column grayvalueunique(A);imginfo[];fori1:length(grayvalue)[ANSy,ANSx]find(Agrayvalue(i));imginfo.gray(i)grayvalue(i);imginfo.position{i}[ANSy,ANSx];imginfo.count(i)length(ANSy)/(Y*X);end subplot(1,2,1);imshow(A);title(Original Image);subplot(1,2,2);stem(imginfo.gray,imginfo.count,Marker,none);xlabel(Graylevel);ylabel(Proportion);axis([02550max(imginfo.count)]);title(原始图像像素分布)%纹理提取 oriImgimread(B1.jpg);grayImgrgb2gray(oriImg);[m,n]size(grayImg);Featureszeros([m,n]);fori2:m-1forj2:n-1%得到领域比较心细 neighbor[oriImg(i-1,j-1)oriImg(i-1,j)oriImg(i-1,j1)oriImg(i,j-1)...oriImg(i,j1)oriImg(i1,j-1)oriImg(i1,j)oriImg(i1,j1)]...oriImg(i,j);pixel0;fork1:8pixelpixelneighbor(1,k)*bitshift(1,8-k);%将其转换为十进制 end Features(i,j)pixel;end end Featuresuint8(Features);subplot(1,2,1);imshow(A);subplot(1,2,2);imshow(Features)%色彩特征%一二三阶矩的计算 clear;clc;Iimread(B1.jpg);RI(:,:,1);GI(:,:,2);BI(:,:,3);figure;subplot(221);imshow(I);title(ԭͼ);subplot(222);imshow(R);title(R);subplot(223);imshow(G);title(G);subplot(224);imshow(B);title(B);Rdouble(R);Gdouble(G);Bdouble(B);[m,n]size(R);%一阶矩均值 Rmeanmean2(R);disp(Rmean)Gmeanmean2(G);disp(Gmean)Bmeanmean2(B);disp(Bmean)%二阶矩标准差 Rstdstd2(R);disp(Rstd)Gstdstd2(G);disp(Gstd)Bstdstd2(B);disp(Bstd)%三阶矩偏差sum0.0;fori1:mforj1:nsumsum(R(i,j)-Rmean)^3;end end Rske(sum/(m*n))^(1/3);disp(Rske)sum0.0;fori1:mforj1:nsumsum(G(i,j)-Gmean)^3;end end Gske(sum/(m*n))^(1/3);disp(Gske)sum0.0;fori1:mforj1:nsumsum(B(i,j)-Bmean)^3;end end Bske(sum/(m*n))^(1/3);disp(Bske)%RGB颜色空间 Iimread(B1.jpg);RI(:,:,1);GI(:,:,2);BI(:,:,3);figure(1);subplot(221);imshow(I);title(原图)subplot(222);imshow(R);title(R)subplot(223);imshow(G);title(G)subplot(224);imshow(B);title(B)figure(2);subplot(131);imhist(R);title(R直方图)subplot(132);imhist(G);title(G直方图)subplot(133);imhist(B);title(B直方图)fromPILimportImageimportbase64defembed_info(image_path,message,output_path):# 把中文转换为base64编码messagebase64.b64encode(message.encode(utf-8)).decode(ascii)# 把信息转换为二进制位bits.join(format(ord(x),08b)forxinmessage)info_lenlen(bits)imgImage.open(image_path)width,heightimg.size pixelsimg.load()index0forxinrange(width):foryinrange(height):r,g,bpixels[x,y]# 如果还有未嵌入的信息位ifindexinfo_len:# 把当前像素的红色分量的最低有效位替换为信息位rint(format(r,08b)[:-1]bits[index],2)index1ifindexinfo_len:# 把当前像素的绿色分量的最低有效位替换为信息位gint(format(g,08b)[:-1]bits[index],2)index1ifindexinfo_len:# 把当前像素的蓝色分量的最低有效位替换为信息位bint(format(b,08b)[:-1]bits[index],2)index1pixels[x,y](r,g,b)ifindexlen(bits):breakelse:continuebreakimg.save(output_path)returninfo_lendefextract_info(image_path,info_len):imgImage.open(image_path)width,heightimg.size pixelsimg.load()bitsforxinrange(width):foryinrange(height):r,g,bpixels[x,y]bitsformat(r,08b)[-1]bitsformat(g,08b)[-1]bitsformat(b,08b)[-1]# 把二进制字符串转换为ASCII码列表bitsbits[:info_len]chars[chr(int(bits[i:i8],2))foriinrange(0,len(bits),8)]# 把ASCII码列表转换为字符串并去掉末尾可能存在的空字符\x00message.join(chars).rstrip(\x00)# 把base64编码还原为中文messagebase64.b64decode(message.encode(ascii)).decode(utf-8)returnmessageif__name____main__:image_path1.jpgoutput_path3.PNGmsg_lenembed_info(image_path,fff,output_path)msgextract_info(output_path,msg_len)print(msg)全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可