- 浏览: 414535 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
wcjagta:
...
dedecms插件开发教程 -
xc2013:
看起来不错 先下载来试试
ECSHOP完全静态化解决方法 -
greemranqq:
你好,我在xp 上做实验,也是JS css带不过来,关于 ro ...
nginx资源定向 css js路径问题 -
hotsmile:
表结构给出来吧,测试的提示说要注册,
中国移动CMPP短信开发平台通讯包 2.8 -
mengdejun:
gang80306176 写道这个插件怎么用和安装普通插件一样 ...
phpcms2008 sp4单网页编辑器插件
/* phpserializer.js - JavaScript to PHP serialize / unserialize class. * * This class is designed to convert php variables to javascript * and javascript variables to php with a php serialize unserialize * compatible way. * * Copyright (C) 2006 Ma Bingyao <andot@ujn.edu.cn> * Version: 3.0c * LastModified: Jun 2, 2006 * This library is free. You can redistribute it and/or modify it. * http://www.coolcode.cn/?p=171 */ function serialize(o) { var p = 0, sb = [], ht = [], hv = 1; function classname(o) { if (typeof(o) == "undefined" || typeof(o.constructor) == "undefined") return ''; var c = o.constructor.toString(); c = utf16to8(c.substr(0, c.indexOf('(')).replace(/(^\s*function\s*)|(\s*$)/ig, '')); return ((c == '') ? 'Object' : c); } function is_int(n) { var s = n.toString(), l = s.length; if (l > 11) return false; for (var i = (s.charAt(0) == '-') ? 1 : 0; i < l; i++) { switch (s.charAt(i)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': break; default : return false; } } return !(n < -2147483648 || n > 2147483647); } function in_ht(o) { for (k in ht) if (ht[k] === o) return k; return false; } function ser_null() { sb[p++] = 'N;'; } function ser_boolean(b) { sb[p++] = (b ? 'b:1;' : 'b:0;'); } function ser_integer(i) { sb[p++] = 'i:' + i + ';'; } function ser_double(d) { if (d == Number.POSITIVE_INFINITY) d = 'INF'; else if (d == Number.NEGATIVE_INFINITY) d = '-INF'; sb[p++] = 'd:' + d + ';'; } function ser_string(s) { var utf8 = utf16to8(s); sb[p++] = 's:' + utf8.length + ':"'; sb[p++] = utf8; sb[p++] = '";'; } function ser_array(a) { sb[p++] = 'a:'; var lp = p; sb[p++] = 0; sb[p++] = ':{'; for (var k in a) { if (typeof(a[k]) != 'function') { is_int(k) ? ser_integer(k) : ser_string(k); __serialize(a[k]); sb[lp]++; } } sb[p++] = '}'; } function ser_object(o) { var cn = classname(o); if (cn == '') ser_null(); else if (typeof(o.serialize) != 'function') { sb[p++] = 'O:' + cn.length + ':"'; sb[p++] = cn; sb[p++] = '":'; var lp = p; sb[p++] = 0; sb[p++] = ':{'; if (typeof(o.__sleep) == 'function') { var a = o.__sleep(); for (var kk in a) { ser_string(a[kk]); __serialize(o[a[kk]]); sb[lp]++; } } else { for (var k in o) { if (typeof(o[k]) != 'function') { ser_string(k); __serialize(o[k]); sb[lp]++; } } } sb[p++] = '}'; } else { var cs = o.serialize(); sb[p++] = 'C:' + cn.length + ':"'; sb[p++] = cn; sb[p++] = '":' + cs.length + ':{'; sb[p++] = cs; sb[p++] = "}"; } } function ser_pointref(R) { sb[p++] = "R:" + R + ";"; } function ser_ref(r) { sb[p++] = "r:" + r + ";"; } function __serialize(o) { if (o == null || o.constructor == Function) { hv++; ser_null(); } else switch (o.constructor) { case Boolean: { hv++; ser_boolean(o); break; } case Number: { hv++; is_int(o) ? ser_integer(o) : ser_double(o); break; } case String: { hv++; ser_string(o); break; } case Array: { var r = in_ht(o); if (r) { ser_pointref(r); } else { ht[hv++] = o; ser_array(o); } break; } default: { var r = in_ht(o); if (r) { hv++; ser_ref(r); } else { ht[hv++] = o; ser_object(o); } break; } } } __serialize(o); return sb.join(''); } function unserialize(ss) { var p = 0, ht = [], hv = 1; r = null; function unser_null() { p++; return null; } function unser_boolean() { p++; var b = (ss.charAt(p++) == '1'); p++; return b; } function unser_integer() { p++; var i = parseInt(ss.substring(p, p = ss.indexOf(';', p))); p++; return i; } function unser_double() { p++; var d = ss.substring(p, p = ss.indexOf(';', p)); switch (d) { case 'INF': d = Number.POSITIVE_INFINITY; break; case '-INF': d = Number.NEGATIVE_INFINITY; break; default: d = parseFloat(d); } p++; return d; } function unser_string() { p++; var l = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; var s = utf8to16(ss.substring(p, p += l)); p += 2; return s; } function unser_array() { p++; var n = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; var a = []; ht[hv++] = a; for (var i = 0; i < n; i++) { var k; switch (ss.charAt(p++)) { case 'i': k = unser_integer(); break; case 's': k = unser_string(); break; case 'U': k = unser_unicode_string(); break; default: return false; } a[k] = __unserialize(); } p++; return a; } function unser_object() { p++; var l = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; var cn = utf8to16(ss.substring(p, p += l)); p += 2; var n = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; if (eval(['typeof(', cn, ') == "undefined"'].join(''))) { eval(['function ', cn, '(){}'].join('')); } var o = eval(['new ', cn, '()'].join('')); ht[hv++] = o; for (var i = 0; i < n; i++) { var k; switch (ss.charAt(p++)) { case 's': k = unser_string(); break; case 'U': k = unser_unicode_string(); break; default: return false; } if (k.charAt(0) == '\0') { k = k.substring(k.indexOf('\0', 1) + 1, k.length); } o[k] = __unserialize(); } p++; if (typeof(o.__wakeup) == 'function') o.__wakeup(); return o; } function unser_custom_object() { p++; var l = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; var cn = utf8to16(ss.substring(p, p += l)); p += 2; var n = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; if (eval(['typeof(', cn, ') == "undefined"'].join(''))) { eval(['function ', cn, '(){}'].join('')); } var o = eval(['new ', cn, '()'].join('')); ht[hv++] = o; if (typeof(o.unserialize) != 'function') p += n; else o.unserialize(ss.substring(p, p += n)); p++; return o; } function unser_unicode_string() { p++; var l = parseInt(ss.substring(p, p = ss.indexOf(':', p))); p += 2; var sb = []; for (i = 0; i < l; i++) { if ((sb[i] = ss.charAt(p++)) == '\\') { sb[i] = String.fromCharCode(parseInt(ss.substring(p, p += 4), 16)); } } p += 2; return sb.join(''); } function unser_ref() { p++; var r = parseInt(ss.substring(p, p = ss.indexOf(';', p))); p++; return ht[r]; } function __unserialize() { switch (ss.charAt(p++)) { case 'N': return ht[hv++] = unser_null(); case 'b': return ht[hv++] = unser_boolean(); case 'i': return ht[hv++] = unser_integer(); case 'd': return ht[hv++] = unser_double(); case 's': return ht[hv++] = unser_string(); case 'U': return ht[hv++] = unser_unicode_string(); case 'r': return ht[hv++] = unser_ref(); case 'a': return unser_array(); case 'O': return unser_object(); case 'C': return unser_custom_object(); case 'R': return unser_ref(); default: return false; } } return __unserialize(); }
/* utf.js - UTF-8 <=> UTF-16 convertion * * Copyright (C) 2010 zys <zys-101@163.com> * Version: 1.0 * LastModified: Six 3, 2010 * This library is free. You can redistribute it and/or modify it. */ /* * Interfaces: * utf8 = utf16to8(utf16); * utf16 = utf16to8(utf8); */ function utf16to8(str) { var out, i, len, c; out = ""; len = str.length; for(i = 0; i < len; i++) { c = str.charCodeAt(i); if ((c >= 0x0001) && (c <= 0x007F)) { out += str.charAt(i); } else if (c > 0x07FF) { out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); } else { out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); } } return out; } function utf8to16(str) { var out, i, len, c; var char2, char3; out = ""; len = str.length; i = 0; while(i < len) { c = str.charCodeAt(i++); switch(c >> 4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: // 0xxxxxxx out += str.charAt(i-1); break; case 12: case 13: // 110x xxxx 10xx xxxx char2 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); break; case 14: // 1110 xxxx 10xx xxxx 10xx xxxx char2 = str.charCodeAt(i++); char3 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0)); break; } } return out; }
<html> <head> <title>Test</title> <script type="text/javascript" src="./utf.js"></script> <script type="text/javascript" src="./phpserializer.js"></script> </head> <body> <script type="text/javascript"> function test() { var arr = new Array(1,2,3); var arr2 = new Array('a','b','c'); arr['test'] = arr2; var obj={x:arr}; var str = serialize(obj); alert(str); } test(); </script> </body> </html>
/** * Object PHP_Serializer * JavaScript to PHP serialize / unserialize class. * This class converts php variables to javascript and vice versa. * * PARSABLE JAVASCRIPT < === > PHP VARIABLES: * [ JAVASCRIPT TYPE ] [ PHP TYPE ] * Array < === > array * Object < === > class (*) * String < === > string * Boolean < === > boolean * null < === > null * Number < === > int or double * Date < === > class * Error < === > class * Function < === > class (*) * * (*) NOTE: * Any PHP serialized class requires the native PHP class to be used, then it's not a * PHP => JavaScript converter, it's just a usefull serilizer class for each * compatible JS and PHP variable types. * Lambda, Resources or other dedicated PHP variables are not usefull for JavaScript. * There are same restrictions for javascript functions*** too then these will not be sent. * * *** function test(); alert(php.serialize(test)); will be empty string but * *** mytest = new test(); will be sent as test class to php * _____________________________________________ * * EXAMPLE: * var php = new PHP_Serializer(); // use new PHP_Serializer(true); to enable UTF8 compatibility * alert(php.unserialize(php.serialize(somevar))); * // should alert the original value of somevar * --------------------------------------------- * @author Andrea Giammarchi * @site www.devpro.it * @date 2005/11/26 * @lastmod 2006/05/15 19:00 [modified stringBytes method and removed replace for UTF8 and \r\n] * [add UTF8 var again, PHP strings if are not encoded with utf8_encode aren't compatible with this object] * [Partially rewrote for a better stability and compatibility with Safari or KDE based browsers] * [UTF-8 now has a native support, strings are converted automatically with ISO or UTF-8 charset] * * @specialthanks Fabio Sutto, Kentaromiura, Kroc Camen, Cecile Maigrot, John C.Scott, Matteo Galli * * @version 2.2, tested on FF 1.0, 1.5, IE 5, 5.5, 6, 7 beta 2, Opera 8.5, Konqueror 3.5, Safari 2.0.3 */ function PHP_Serializer(UTF8) { /** public methods */ function serialize(v) { // returns serialized var var s; switch(v) { case null: s = "N;"; break; default: s = this[this.__sc2s(v)] ? this[this.__sc2s(v)](v) : this[this.__sc2s(__o)](v); break; }; return s; }; function unserialize(s) { // returns unserialized var from a php serialized string __c = 0; __s = s; return this[__s.substr(__c, 1)](); }; function stringBytes(s) { // returns the php lenght of a string (chars, not bytes) return s.length; }; function stringBytesUTF8(s) { // returns the php lenght of a string (bytes, not chars) var c, b = 0, l = s.length; while(l) { c = s.charCodeAt(--l); b += (c < 128) ? 1 : ((c < 2048) ? 2 : ((c < 65536) ? 3 : 4)); }; return b; }; /** private methods */ function __sc2s(v) { return v.constructor.toString(); }; function __sc2sKonqueror(v) { var f; switch(typeof(v)) { case ("string" || v instanceof String): f = "__sString"; break; case ("number" || v instanceof Number): f = "__sNumber"; break; case ("boolean" || v instanceof Boolean): f = "__sBoolean"; break; case ("function" || v instanceof Function): f = "__sFunction"; break; default: f = (v instanceof Array) ? "__sArray" : "__sObject"; break; }; return f; }; function __sNConstructor(c) { return (c === "[function]" || c === "(Internal Function)"); }; function __sCommonAO(v) { var b, n, a = 0, s = []; for(b in v) { n = v[b] == null; if(n || v[b].constructor != Function) { s[a] = [ (!isNaN(b) && parseInt(b).toString() === b ? this.__sNumber(b) : this.__sString(b)), (n ? "N;" : this[this.__sc2s(v[b])] ? this[this.__sc2s(v[b])](v[b]) : this[this.__sc2s(__o)](v[b])) ].join(""); ++a; }; }; return [a, s.join("")]; }; function __sBoolean(v) { return ["b:", (v ? "1" : "0"), ";"].join(""); }; function __sNumber(v) { var s = v.toString(); return (s.indexOf(".") < 0 ? ["i:", s, ";"] : ["d:", s, ";"]).join(""); }; function __sString(v) { return ["s:", v.length, ":\"", v, "\";"].join(""); }; function __sStringUTF8(v) { return ["s:", this.stringBytes(v), ":\"", v, "\";"].join(""); }; function __sArray(v) { var s = this.__sCommonAO(v); return ["a:", s[0], ":{", s[1], "}"].join(""); }; function __sObject(v) { var o = this.__sc2s(v), n = o.substr(__n, (o.indexOf("(") - __n)), s = this.__sCommonAO(v); return ["O:", this.stringBytes(n), ":\"", n, "\":", s[0], ":{", s[1], "}"].join(""); }; function __sObjectIE7(v) { var o = this.__sc2s(v), n = o.substr(__n, (o.indexOf("(") - __n)), s = this.__sCommonAO(v); if(n.charAt(0) === " ") n = n.substring(1); return ["O:", this.stringBytes(n), ":\"", n, "\":", s[0], ":{", s[1], "}"].join(""); }; function __sObjectKonqueror(v) { var o = v.constructor.toString(), n = this.__sNConstructor(o) ? "Object" : o.substr(__n, (o.indexOf("(") - __n)), s = this.__sCommonAO(v); return ["O:", this.stringBytes(n), ":\"", n, "\":", s[0], ":{", s[1], "}"].join(""); }; function __sFunction(v) { return ""; }; function __uCommonAO(tmp) { var a, k; ++__c; a = __s.indexOf(":", ++__c); k = parseInt(__s.substr(__c, (a - __c))) + 1; __c = a + 2; while(--k) tmp[this[__s.substr(__c, 1)]()] = this[__s.substr(__c, 1)](); return tmp; }; function __uBoolean() { var b = __s.substr((__c + 2), 1) === "1" ? true : false; __c += 4; return b; }; function __uNumber() { var sli = __s.indexOf(";", (__c + 1)) - 2, n = Number(__s.substr((__c + 2), (sli - __c))); __c = sli + 3; return n; }; function __uStringUTF8() { var c, sls, sli, vls, pos = 0; __c += 2; sls = __s.substr(__c, (__s.indexOf(":", __c) - __c)); sli = parseInt(sls); vls = sls = __c + sls.length + 2; while(sli) { c = __s.charCodeAt(vls); pos += (c < 128) ? 1 : ((c < 2048) ? 2 : ((c < 65536) ? 3 : 4)); ++vls; if(pos === sli) sli = 0; }; pos = (vls - sls); __c = sls + pos + 2; return __s.substr(sls, pos); }; function __uString() { var sls, sli; __c += 2; sls = __s.substr(__c, (__s.indexOf(":", __c) - __c)); sli = parseInt(sls); sls = __c + sls.length + 2; __c = sls + sli + 2; return __s.substr(sls, sli); }; function __uArray() { var a = this.__uCommonAO([]); ++__c; return a; }; function __uObject() { var tmp = ["s", __s.substr(++__c, (__s.indexOf(":", (__c + 3)) - __c))].join(""), a = tmp.indexOf("\""), l = tmp.length - 2, o = tmp.substr((a + 1), (l - a)); if(eval(["typeof(", o, ") === 'undefined'"].join(""))) eval(["function ", o, "(){};"].join("")); __c += l; eval(["tmp = this.__uCommonAO(new ", o, "());"].join("")); ++__c; return tmp; }; function __uNull() { __c += 2; return null; }; function __constructorCutLength() { function ie7bugCheck(){}; var o1 = new ie7bugCheck(), o2 = new Object(), c1 = __sc2s(o1), c2 = __sc2s(o2); if(c1.charAt(0) !== c2.charAt(0)) __ie7 = true; return (__ie7 || c2.indexOf("(") !== 16) ? 9 : 10; }; /** private variables */ var __c = 0, __ie7 = false, __b = __sNConstructor(__c.constructor.toString()), __n = __b ? 9 : __constructorCutLength(), __s = "", __a = [], __o = {}, __f = function(){}; /** public prototypes */ PHP_Serializer.prototype.serialize = serialize; PHP_Serializer.prototype.unserialize = unserialize; PHP_Serializer.prototype.stringBytes = UTF8 ? stringBytesUTF8 : stringBytes; /** serialize: private prototypes */ if(__b) { // Konqueror / Safari prototypes PHP_Serializer.prototype.__sc2s = __sc2sKonqueror; PHP_Serializer.prototype.__sNConstructor = __sNConstructor; PHP_Serializer.prototype.__sCommonAO = __sCommonAO; PHP_Serializer.prototype[__sc2sKonqueror(__b)] = __sBoolean; PHP_Serializer.prototype.__sNumber = PHP_Serializer.prototype[__sc2sKonqueror(__n)] = __sNumber; PHP_Serializer.prototype.__sString = PHP_Serializer.prototype[__sc2sKonqueror(__s)] = UTF8 ? __sStringUTF8 : __sString; PHP_Serializer.prototype[__sc2sKonqueror(__a)] = __sArray; PHP_Serializer.prototype[__sc2sKonqueror(__o)] = __sObjectKonqueror; PHP_Serializer.prototype[__sc2sKonqueror(__f)] = __sFunction; } else { // FireFox, IE, Opera prototypes PHP_Serializer.prototype.__sc2s = __sc2s; PHP_Serializer.prototype.__sCommonAO = __sCommonAO; PHP_Serializer.prototype[__sc2s(__b)] = __sBoolean; PHP_Serializer.prototype.__sNumber = PHP_Serializer.prototype[__sc2s(__n)] = __sNumber; PHP_Serializer.prototype.__sString = PHP_Serializer.prototype[__sc2s(__s)] = UTF8 ? __sStringUTF8 : __sString; PHP_Serializer.prototype[__sc2s(__a)] = __sArray; PHP_Serializer.prototype[__sc2s(__o)] = __ie7 ? __sObjectIE7 : __sObject; PHP_Serializer.prototype[__sc2s(__f)] = __sFunction; }; /** unserialize: private prototypes */ PHP_Serializer.prototype.__uCommonAO = __uCommonAO; PHP_Serializer.prototype.b = __uBoolean; PHP_Serializer.prototype.i = PHP_Serializer.prototype.d = __uNumber; PHP_Serializer.prototype.s = UTF8 ? __uStringUTF8 : __uString; PHP_Serializer.prototype.a = __uArray; PHP_Serializer.prototype.O = __uObject; PHP_Serializer.prototype.N = __uNull; };
发表评论
-
javascript json框架
2011-04-15 15:15 1079/* json.js 2011-02-23 Publ ... -
javascript 给Object扩展extend方法
2011-04-12 13:16 1300对Object的extend是一个常 ... -
关于javascript中apply()和call()方法的区别
2011-04-11 14:18 971如果没接触过动态语言,以编译型语言的思维方式去理解javaSc ... -
谷歌的JQuery库
2011-04-09 16:37 1179为了实现各种绚丽的效果,你的网站是否调用了众多的Ajax库呢? ... -
JavaScript 汉字转拼音
2011-03-30 20:18 1057Lukin原创作品,欢迎转载,请保留本页链接。 下载地址:h ... -
JS共享php变量调用函数,另外一种ajax实现
2010-12-05 11:09 5387<!--js.php--> <!-- 方法 ... -
jQuery实现网站换肤功能--带cookie默认为后点击后的颜色
2010-11-21 22:55 1733jQuery实现网站换肤功能--带cookie默认为后点击后的 ... -
JS获取上传文件缩略图
2010-11-21 15:56 1797<script language=JavaScript& ... -
js图片延迟加载 懒汉式加载页面图片
2010-11-11 14:29 3056Lazy Load 是一个用 JavaScript 编写的 j ... -
javascript获取get参数
2010-09-12 18:09 1701/** * @author mengdejun * @fi ... -
javascript import include 导入 数据类型判断函数
2010-09-12 18:03 2200function isAlien(a) { return ... -
JQuery选项卡插件
2010-09-12 17:57 1804/** * @desc JQuery选项卡插件 * @au ...
相关推荐
【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
【项目资源】: 适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
# 基于Python的KMeans和EM算法结合图像分割项目 ## 项目简介 本项目结合KMeans聚类和EM(期望最大化)算法,实现对马赛克图像的精准分割。通过Gabor滤波器提取图像的多维特征,并利用KMeans进行初步聚类,随后使用EM算法优化聚类结果,最终生成高质量的分割图像。 ## 项目的主要特性和功能 1. 图像导入和预处理: 支持导入马赛克图像,并进行灰度化、滤波等预处理操作。 2. 特征提取: 使用Gabor滤波器提取图像的多维特征向量。 3. 聚类分析: 使用KMeans算法对图像进行初步聚类。 利用KMeans的聚类中心初始化EM算法,进一步优化聚类结果。 4. 图像生成和比较: 生成分割后的图像,并与原始图像进行比较,评估分割效果。 5. 数值比较: 通过计算特征向量之间的余弦相似度,量化分割效果的提升。 ## 安装使用步骤 ### 假设用户已经下载了项目的源码文件 1. 环境准备:
HCIP第一次作业:静态路由综合实验
【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
内容概要:本文详细介绍了Johnson-SU分布的参数计算与优化过程,涵盖位置参数γ、形状参数δ、尺度参数ξ和伸缩参数λ的计算方法,并实现了相应的Python代码。文中首先导入必要的库并设置随机种子以确保结果的可复现性。接着,分别定义了四个参数的计算函数,其中位置参数γ通过加权平均值计算,形状参数δ基于局部均值和标准差的比值,尺度参数ξ结合峰度和绝对偏差,伸缩参数λ依据偏态系数。此外,还实现了Johnson-SU分布的概率密度函数(PDF),并使用负对数似然函数作为目标函数,采用L-BFGS-B算法进行参数优化。最后,通过弹性网络的贝叶斯优化展示了另一种参数优化方法。; 适合人群:具有Python编程基础,对统计学和机器学习有一定了解的研究人员或工程师。; 使用场景及目标:①需要对复杂数据分布进行建模和拟合的场景;②希望通过优化算法提升模型性能的研究项目;③学习如何实现和应用先进的统计分布及优化技术。; 阅读建议:由于涉及较多数学公式和编程实现,建议读者在阅读时结合相关数学知识,同时动手实践代码,以便更好地理解和掌握Johnson-SU分布及其优化方法。
TSP问题的3种智能优化方法求解(研究生课程《智能优化算法》结课大作业).zip
【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
自动发布Java项目(Tomcat)Shell脚本
# 基于webpack和Vue的前端项目构建方案 ## 项目简介 本项目是基于webpack和Vue构建的前端项目方案,借助webpack强大的打包能力以及Vue的开发特性,可用于快速搭建现代化的前端应用。项目不仅完成了基本的webpack与Vue的集成配置,还在构建速度优化和代码规范性方面做了诸多配置。 ## 项目的主要特性和功能 1. 打包功能运用webpack进行模块打包,支持将scss转换为css,借助babel实现语法转换。 2. Vue开发支持集成Vue框架,能使用Vue单文件组件的开发模式。 3. 构建优化采用threadloader实现多进程打包,cacheloader缓存资源,极大提高构建速度开启热更新功能,开发更高效。 4. 错误处理与优化提供不同环境下的错误映射配置,便于定位错误利用webpackbundleanalyzer分析打包体积。
Hands-On Large Language Models - Jay Alammar 袋鼠书 《动手学大语言模型》PDF
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
# 基于Arduino Feather M0和Raspberry Pi的传感器数据采集与监控系统 ## 项目简介 本项目是一个基于Arduino Feather M0和Raspberry Pi的传感器数据采集与监控系统。系统通过Arduino Feather M0采集传感器数据,并通过WiFi将数据传输到Raspberry Pi。Raspberry Pi运行BalenaOS,集成了MySQL、PHP、NGINX、Apache和Grafana等工具,用于数据的存储、处理和可视化。项目适用于环境监测、物联网设备监控等场景。 ## 项目的主要特性和功能 1. 传感器数据采集使用Arduino Feather M0和AM2315传感器采集温度和湿度数据。 2. WiFi数据传输Arduino Feather M0通过WiFi将采集到的数据传输到Raspberry Pi。
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
【项目资源】: 适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
# 基于Arduino的WiFi按钮项目 ## 一、项目简介 本项目是一个基于ESP8266芯片的Arduino项目,主要实现WiFi连接、电压检测、LED灯控制以及向服务器发送POST请求等功能。通过简单的按钮操作,可以实现与服务器通信并获取相关信息,同时能检测电池电压并提示用户。 ## 二、项目的主要特性和功能 1. WiFi连接项目能够自动连接到指定的WiFi网络。 2. 电压检测通过ADC(模数转换器)检测电池电压,并在电压低于阈值时发出警告。 3. LED灯控制通过控制LED灯的亮灭来提示用户不同的状态信息(如连接成功、电压低等)。 4. 服务器通信项目可以向指定的服务器发送POST请求并处理返回的HTTP响应。 ## 三、安装使用步骤 1. 环境准备确保已安装Arduino IDE和ESP8266插件。 2. 下载源码下载项目的源码文件并解压。 3. 打开项目在Arduino IDE中打开解压后的main.cpp文件。
该资源为scipy-0.10.1-cp26-cp26mu-manylinux1_x86_64.whl,欢迎下载使用哦!