update
This commit is contained in:
@@ -25,14 +25,6 @@ QPushButton* makeAlgoButton(const QString& title, QWidget* parent) {
|
||||
|
||||
} // namespace
|
||||
|
||||
QString BlackholeResolveDialog::defaultModelInpaintPrompt() {
|
||||
return QStringLiteral(
|
||||
"中国画局部,需去除人物并只补背景:请严格依据掩膜外已见的笔墨皴擦、设色层次、留白与纸绢肌理,"
|
||||
"在掩膜内自然延展,补全为山石、坡岸、云水、苔点或空灵留白等,与外缘笔法、墨色与气韵连贯衔接;"
|
||||
"禁止出现人物轮廓、肢体、衣褶、五官、手足、发丝、肤色、投影及去人后的模糊晕带、鬼影边缘与色块台阶,"
|
||||
"整体须像原画从未画入人物一样自然,不留修补感。");
|
||||
}
|
||||
|
||||
BlackholeResolveDialog::BlackholeResolveDialog(const QString& blackholeName, QWidget* parent)
|
||||
: QDialog(parent),
|
||||
m_blackholeName(blackholeName) {
|
||||
@@ -142,8 +134,7 @@ void BlackholeResolveDialog::buildDetailPage() {
|
||||
pLay->setSpacing(8);
|
||||
|
||||
m_promptEdit = new QPlainTextEdit(panel);
|
||||
m_promptEdit->setPlainText(BlackholeResolveDialog::defaultModelInpaintPrompt());
|
||||
m_promptEdit->setPlaceholderText(QStringLiteral("可按画面增删;若全部删空,请求时仍使用内置默认描述"));
|
||||
m_promptEdit->setPlaceholderText(QStringLiteral("可选"));
|
||||
m_promptEdit->setMinimumHeight(72);
|
||||
pLay->addWidget(m_promptEdit);
|
||||
|
||||
|
||||
@@ -19,9 +19,6 @@ public:
|
||||
Algorithm selectedAlgorithm() const { return m_selectedAlgorithm; }
|
||||
QString promptText() const;
|
||||
|
||||
/// 模型补全(LaMa 等)内置正向提示:中国画去人物、补背景纹理,无人物残留。
|
||||
[[nodiscard]] static QString defaultModelInpaintPrompt();
|
||||
|
||||
private:
|
||||
void buildSelectPage();
|
||||
void buildDetailPage();
|
||||
|
||||
@@ -5050,21 +5050,13 @@ void MainWindow::showBlackholeContextMenu(const QPoint& globalPos, const QString
|
||||
client->setBaseUrl(QUrl(base));
|
||||
|
||||
QString immediateErr;
|
||||
QString prompt = dlg.promptText();
|
||||
if (prompt.isEmpty()) {
|
||||
prompt = BlackholeResolveDialog::defaultModelInpaintPrompt();
|
||||
}
|
||||
const QString prompt = dlg.promptText();
|
||||
QNetworkReply* reply = client->inpaintAsync(
|
||||
cropPng,
|
||||
maskPng,
|
||||
// LaMa(物体移除 / 擦除)
|
||||
QStringLiteral("lama"),
|
||||
QStringLiteral("flux_fill"),
|
||||
prompt,
|
||||
// 抑制人物与去人常见伪影(中英混合便于通用后端)
|
||||
QStringLiteral(
|
||||
"person, human, face, body, hands, feet, portrait, silhouette, skin, clothing folds, hair, "
|
||||
"shadow, ghosting, blur halo, seam, banding, watermark, text, logo, signature, jpeg artifacts"),
|
||||
// 去人物场景:strength 太低容易“保留人物残影”;适当提高更干净
|
||||
QString(),
|
||||
0.72,
|
||||
1024,
|
||||
&immediateErr);
|
||||
@@ -5077,7 +5069,7 @@ void MainWindow::showBlackholeContextMenu(const QPoint& globalPos, const QString
|
||||
}
|
||||
|
||||
auto* task = new CancelableTaskDialog(QStringLiteral("黑洞修复"),
|
||||
QStringLiteral("正在请求后端模型补全,请稍候……"),
|
||||
QStringLiteral("补全中…"),
|
||||
this);
|
||||
task->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
connect(task, &CancelableTaskDialog::canceled, this, [reply, task]() {
|
||||
|
||||
Reference in New Issue
Block a user